<!--
onconnect = function(e) {
  e.ports[0].postMessage(true);
}
/*
-->
<!doctype html>
<title>worker.port.onmessage</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
(async_test()).step(function() {
  var worker = new SharedWorker('#', '');
  worker.port.onmessage = this.step_func(function(e) {
    assert_true(e.data);
    this.done();
  });
});
</script>
<!--
*/
//-->
