<!--
onmessage = function(e) {
  for (var i = 0; i < e.data.length; ++i) {
    if (!(e.data[i] in self)) {
      postMessage(e.data[i] + ' did not exist');
    }
  }
  postMessage('done');
}
/*
-->
<!doctype html>
<title>expected interface objects/constructors</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../workers.js"></script>
<div id="log"></div>
<script>
var t = async_test();
t.step(function() {
  var expected = ['XMLHttpRequest', 'WebSocket', 'EventSource', 'MessageChannel', 'Worker', 'SharedWorker'];
  var supported = expected.filter(function(iface) { return iface in window; });
  var worker = new Worker('#');
  listenForMessages(t, worker);
  worker.postMessage(supported);
});
</script>
<!--
*/
//-->
