/* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ add_test(function test_messageChannel() { do_test_pending(); let chromeWorker = new ChromeWorker( "resource://test/chromeWorker_messageChannel.js" ); let { port1, port2 } = new MessageChannel(); port2.onmessage = pongEvt => { Assert.equal(pongEvt.data, "pong"); let { port1: newPort1, port2: newPort2 } = new MessageChannel(); newPort2.onmessage = goodbyeEvt => { Assert.equal(goodbyeEvt.data, "goodbye"); do_test_finished(); run_next_test(); }; pongEvt.ports[0].postMessage("hello", [newPort1]); }; chromeWorker.postMessage("ping", [port1]); });