<body>
<p>Test importScripts for SharedWorkers.</p>
<div id=result></div>
<script>
function log(message)
{
    document.getElementById("result").innerHTML += message + "<br>";
}

if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.waitUntilDone();
}

var worker = new SharedWorker('resources/worker-importScripts.js', 'importScripts');

worker.port.onmessage = function(evt) {
    log(evt.data);
    if (evt.data == "DONE" && window.layoutTestController)
        layoutTestController.notifyDone();
}
</script>
</body>
