<!--
try {
  postMessage(1, null);
} catch(e) {
  postMessage(e instanceof TypeError);
}
/*
-->
<!doctype html>
<title>Using null in postMessage's second argument</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 Worker('#');
  worker.onmessage = this.step_func(function(e) {
    assert_true(e.data);
    this.done();
  });
});
</script>
<!--
*/
//-->
