<!--
try {
  importScripts();
  postMessage(true);
} catch(ex) {
  postMessage(String(ex));
}
/*
-->
<!doctype html>
<title>importScripts no arguments</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
async_test(function() {
  var worker = new Worker('#');
  worker.onmessage = this.step_func(function(e) {
    assert_true(e.data);
    this.done();
  });
});
</script>
<!--
*/
//-->
