diff --git a/dom/broadcastchannel/tests/broadcastchannel_worker.js b/dom/broadcastchannel/tests/broadcastchannel_worker.js new file mode 100644 index 000000000000..a69908df183b --- /dev/null +++ b/dom/broadcastchannel/tests/broadcastchannel_worker.js @@ -0,0 +1,22 @@ +onmessage = function(evt) { + if (evt.data != 0) { + var worker = new Worker("broadcastchannel_worker.js"); + worker.onmessage = function(event) { + postMessage(event.data); + }; + worker.postMessage(evt.data - 1); + return; + } + + var bc = new BroadcastChannel("foobar"); + bc.addEventListener("message", function(event) { + bc.postMessage( + event.data == "hello world from the window" + ? "hello world from the worker" + : "KO" + ); + bc.close(); + }); + + postMessage("READY"); +}; diff --git a/dom/broadcastchannel/tests/mochitest.ini b/dom/broadcastchannel/tests/mochitest.ini index b3429c82768b..25bfec13f8de 100644 --- a/dom/broadcastchannel/tests/mochitest.ini +++ b/dom/broadcastchannel/tests/mochitest.ini @@ -20,6 +20,7 @@ support-files = skip-if = debug && ((os == "mac") || (os == "linux" && bits == 64) || (os == "android")) #Bug 1447586 [test_broadcastchannel_self.html] [test_broadcastchannel_sharedWorker.html] +[test_broadcastchannel_worker.html] [test_broadcastchannel_worker_alive.html] [test_bfcache.html] [test_event_listener_leaks.html] diff --git a/dom/broadcastchannel/tests/test_broadcastchannel_worker.html b/dom/broadcastchannel/tests/test_broadcastchannel_worker.html new file mode 100644 index 000000000000..ff3b2b9fb530 --- /dev/null +++ b/dom/broadcastchannel/tests/test_broadcastchannel_worker.html @@ -0,0 +1,62 @@ + + + + + + Test for BroadcastChannel in workers + + + + +

+ +
+
+
+ +