<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=677638 --> <head> <meta charset="utf-8"> <title>Test for Bug 677638 - basic support</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> </head> <body> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=677638">Mozilla Bug 677638</a> <p id="display"></p> <div id="content" style="display: none"> <iframe name="x" id="x"></iframe> <iframe name="y" id="y"></iframe> </div> <pre id="test"> </pre> <script type="application/javascript"> var tests = [ 0, 3 ]; function runTests() { if (!tests.length) { SimpleTest.finish(); return; } var a = new Worker('worker_messageChannel.js'); a.onmessage = function(evt) { if (evt.data.type == 'finish') { runTests(); } else if (evt.data.type == 'info') { info(evt.data.message); } else if (evt.data.type == 'check') { ok(evt.data.check, evt.data.message); } else if (evt.data.type == 'port') { is(evt.ports.length, 1, "A port has been received!"); evt.ports[0].onmessage = function(e) { e.target.postMessage(e.data); } } else if (evt.data.type == 'newport') { var ch = new MessageChannel(); ok(ch, "MessageChannel created"); ch.port1.postMessage(42); a.postMessage('a gift!', [ch.port2]); } } a.postMessage(tests.shift()); } SimpleTest.waitForExplicitFinish(); runTests(); </script> </body> </html>