From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- dom/broadcastchannel/tests/blank.html | 2 + .../tests/broadcastchannel_sharedWorker.js | 17 +++ .../tests/broadcastchannel_worker_alive.js | 7 ++ dom/broadcastchannel/tests/browser.toml | 5 + .../tests/browser_private_browsing.js | 93 ++++++++++++++++ dom/broadcastchannel/tests/file_mozbrowser.html | 20 ++++ dom/broadcastchannel/tests/file_mozbrowser2.html | 21 ++++ .../tests/iframe_broadcastchannel.html | 33 ++++++ dom/broadcastchannel/tests/iframe_mozbrowser.html | 15 +++ dom/broadcastchannel/tests/iframe_mozbrowser2.html | 15 +++ dom/broadcastchannel/tests/mochitest.toml | 41 +++++++ dom/broadcastchannel/tests/testUrl1_bfcache.html | 18 ++++ dom/broadcastchannel/tests/testUrl2_bfcache.html | 12 +++ dom/broadcastchannel/tests/test_bfcache.html | 120 +++++++++++++++++++++ .../tests/test_broadcastchannel_basic.html | 67 ++++++++++++ .../tests/test_broadcastchannel_close.html | 61 +++++++++++ .../tests/test_broadcastchannel_self.html | 37 +++++++ .../tests/test_broadcastchannel_sharedWorker.html | 52 +++++++++ .../tests/test_broadcastchannel_worker_alive.html | 56 ++++++++++ dom/broadcastchannel/tests/test_dataCloning.html | 27 +++++ dom/broadcastchannel/tests/test_dataURL.html | 35 ++++++ .../tests/test_event_listener_leaks.html | 55 ++++++++++ dom/broadcastchannel/tests/test_invalidState.html | 27 +++++ .../tests/test_message_after_close.html | 31 ++++++ dom/broadcastchannel/tests/test_ordering.html | 64 +++++++++++ 25 files changed, 931 insertions(+) create mode 100644 dom/broadcastchannel/tests/blank.html create mode 100644 dom/broadcastchannel/tests/broadcastchannel_sharedWorker.js create mode 100644 dom/broadcastchannel/tests/broadcastchannel_worker_alive.js create mode 100644 dom/broadcastchannel/tests/browser.toml create mode 100644 dom/broadcastchannel/tests/browser_private_browsing.js create mode 100644 dom/broadcastchannel/tests/file_mozbrowser.html create mode 100644 dom/broadcastchannel/tests/file_mozbrowser2.html create mode 100644 dom/broadcastchannel/tests/iframe_broadcastchannel.html create mode 100644 dom/broadcastchannel/tests/iframe_mozbrowser.html create mode 100644 dom/broadcastchannel/tests/iframe_mozbrowser2.html create mode 100644 dom/broadcastchannel/tests/mochitest.toml create mode 100644 dom/broadcastchannel/tests/testUrl1_bfcache.html create mode 100644 dom/broadcastchannel/tests/testUrl2_bfcache.html create mode 100644 dom/broadcastchannel/tests/test_bfcache.html create mode 100644 dom/broadcastchannel/tests/test_broadcastchannel_basic.html create mode 100644 dom/broadcastchannel/tests/test_broadcastchannel_close.html create mode 100644 dom/broadcastchannel/tests/test_broadcastchannel_self.html create mode 100644 dom/broadcastchannel/tests/test_broadcastchannel_sharedWorker.html create mode 100644 dom/broadcastchannel/tests/test_broadcastchannel_worker_alive.html create mode 100644 dom/broadcastchannel/tests/test_dataCloning.html create mode 100644 dom/broadcastchannel/tests/test_dataURL.html create mode 100644 dom/broadcastchannel/tests/test_event_listener_leaks.html create mode 100644 dom/broadcastchannel/tests/test_invalidState.html create mode 100644 dom/broadcastchannel/tests/test_message_after_close.html create mode 100644 dom/broadcastchannel/tests/test_ordering.html (limited to 'dom/broadcastchannel/tests') diff --git a/dom/broadcastchannel/tests/blank.html b/dom/broadcastchannel/tests/blank.html new file mode 100644 index 0000000000..358db717dd --- /dev/null +++ b/dom/broadcastchannel/tests/blank.html @@ -0,0 +1,2 @@ + + diff --git a/dom/broadcastchannel/tests/broadcastchannel_sharedWorker.js b/dom/broadcastchannel/tests/broadcastchannel_sharedWorker.js new file mode 100644 index 0000000000..17fb806371 --- /dev/null +++ b/dom/broadcastchannel/tests/broadcastchannel_sharedWorker.js @@ -0,0 +1,17 @@ +/* eslint-env worker */ + +onconnect = function (evt) { + evt.ports[0].onmessage = function (evt1) { + 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(); + }); + + evt1.target.postMessage("READY"); + }; +}; diff --git a/dom/broadcastchannel/tests/broadcastchannel_worker_alive.js b/dom/broadcastchannel/tests/broadcastchannel_worker_alive.js new file mode 100644 index 0000000000..da608c6d20 --- /dev/null +++ b/dom/broadcastchannel/tests/broadcastchannel_worker_alive.js @@ -0,0 +1,7 @@ +new BroadcastChannel("foobar").addEventListener("message", function (event) { + if (event.data != "READY") { + event.target.postMessage(event.data); + } +}); + +new BroadcastChannel("foobar").postMessage("READY"); diff --git a/dom/broadcastchannel/tests/browser.toml b/dom/broadcastchannel/tests/browser.toml new file mode 100644 index 0000000000..4162a34a68 --- /dev/null +++ b/dom/broadcastchannel/tests/browser.toml @@ -0,0 +1,5 @@ +[DEFAULT] +skip-if = ["os == 'android'"] +support-files = ["blank.html"] + +["browser_private_browsing.js"] diff --git a/dom/broadcastchannel/tests/browser_private_browsing.js b/dom/broadcastchannel/tests/browser_private_browsing.js new file mode 100644 index 0000000000..e61e8ae58e --- /dev/null +++ b/dom/broadcastchannel/tests/browser_private_browsing.js @@ -0,0 +1,93 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +const URL = + "http://mochi.test:8888/browser/dom/broadcastchannel/tests/blank.html"; + +add_task(async function () { + var win1 = OpenBrowserWindow({ private: true }); + var win1Promise = new win1.Promise(resolve => { + win1.addEventListener( + "load", + function () { + resolve(); + }, + { once: true } + ); + }); + await win1Promise; + + var win2 = OpenBrowserWindow({ private: false }); + var win2Promise = new win2.Promise(resolve => { + win2.addEventListener( + "load", + function () { + resolve(); + }, + { once: true } + ); + }); + await win2Promise; + + var tab1 = BrowserTestUtils.addTab(win1.gBrowser, URL); + await BrowserTestUtils.browserLoaded(win1.gBrowser.getBrowserForTab(tab1)); + var browser1 = gBrowser.getBrowserForTab(tab1); + + var tab2 = BrowserTestUtils.addTab(win2.gBrowser, URL); + await BrowserTestUtils.browserLoaded(win2.gBrowser.getBrowserForTab(tab2)); + var browser2 = gBrowser.getBrowserForTab(tab2); + + var p1 = SpecialPowers.spawn(browser1, [], function (opts) { + return new content.window.Promise(resolve => { + content.window.bc = new content.window.BroadcastChannel("foobar"); + content.window.bc.onmessage = function (e) { + resolve(e.data); + }; + }); + }); + + var p2 = SpecialPowers.spawn(browser2, [], function (opts) { + return new content.window.Promise(resolve => { + content.window.bc = new content.window.BroadcastChannel("foobar"); + content.window.bc.onmessage = function (e) { + resolve(e.data); + }; + }); + }); + + await SpecialPowers.spawn(browser1, [], function (opts) { + return new content.window.Promise(resolve => { + var bc = new content.window.BroadcastChannel("foobar"); + bc.postMessage("hello world from private browsing"); + resolve(); + }); + }); + + await SpecialPowers.spawn(browser2, [], function (opts) { + return new content.window.Promise(resolve => { + var bc = new content.window.BroadcastChannel("foobar"); + bc.postMessage("hello world from non private browsing"); + resolve(); + }); + }); + + var what1 = await p1; + is( + what1, + "hello world from private browsing", + "No messages received from the other window." + ); + + var what2 = await p2; + is( + what2, + "hello world from non private browsing", + "No messages received from the other window." + ); + + BrowserTestUtils.removeTab(tab1); + await BrowserTestUtils.closeWindow(win1); + + BrowserTestUtils.removeTab(tab2); + await BrowserTestUtils.closeWindow(win2); +}); diff --git a/dom/broadcastchannel/tests/file_mozbrowser.html b/dom/broadcastchannel/tests/file_mozbrowser.html new file mode 100644 index 0000000000..6370500d98 --- /dev/null +++ b/dom/broadcastchannel/tests/file_mozbrowser.html @@ -0,0 +1,20 @@ + + + + + MozBrowser iframe + + +
+ + + diff --git a/dom/broadcastchannel/tests/file_mozbrowser2.html b/dom/broadcastchannel/tests/file_mozbrowser2.html new file mode 100644 index 0000000000..2e5f394eb8 --- /dev/null +++ b/dom/broadcastchannel/tests/file_mozbrowser2.html @@ -0,0 +1,21 @@ + + + + + MozBrowser iframe + + +
+ + + diff --git a/dom/broadcastchannel/tests/iframe_broadcastchannel.html b/dom/broadcastchannel/tests/iframe_broadcastchannel.html new file mode 100644 index 0000000000..2d1724da0b --- /dev/null +++ b/dom/broadcastchannel/tests/iframe_broadcastchannel.html @@ -0,0 +1,33 @@ + + + + + + diff --git a/dom/broadcastchannel/tests/iframe_mozbrowser.html b/dom/broadcastchannel/tests/iframe_mozbrowser.html new file mode 100644 index 0000000000..adbb77a061 --- /dev/null +++ b/dom/broadcastchannel/tests/iframe_mozbrowser.html @@ -0,0 +1,15 @@ + + + + + MozBrowser iframe + + + + + diff --git a/dom/broadcastchannel/tests/iframe_mozbrowser2.html b/dom/broadcastchannel/tests/iframe_mozbrowser2.html new file mode 100644 index 0000000000..adbb77a061 --- /dev/null +++ b/dom/broadcastchannel/tests/iframe_mozbrowser2.html @@ -0,0 +1,15 @@ + + + + + MozBrowser iframe + + + + + diff --git a/dom/broadcastchannel/tests/mochitest.toml b/dom/broadcastchannel/tests/mochitest.toml new file mode 100644 index 0000000000..40264f7a3d --- /dev/null +++ b/dom/broadcastchannel/tests/mochitest.toml @@ -0,0 +1,41 @@ +[DEFAULT] +support-files = [ + "iframe_broadcastchannel.html", + "broadcastchannel_sharedWorker.js", + "broadcastchannel_worker_alive.js", + "!/dom/events/test/event_leak_utils.js", + "file_mozbrowser.html", + "file_mozbrowser2.html", + "iframe_mozbrowser.html", + "iframe_mozbrowser2.html", + "testUrl1_bfcache.html", + "testUrl2_bfcache.html", +] + +["test_bfcache.html"] + +["test_broadcastchannel_basic.html"] +skip-if = [ + "http3", + "http2", +] + +["test_broadcastchannel_close.html"] + +["test_broadcastchannel_self.html"] + +["test_broadcastchannel_sharedWorker.html"] + +["test_broadcastchannel_worker_alive.html"] + +["test_dataCloning.html"] + +["test_dataURL.html"] + +["test_event_listener_leaks.html"] + +["test_invalidState.html"] + +["test_message_after_close.html"] + +["test_ordering.html"] diff --git a/dom/broadcastchannel/tests/testUrl1_bfcache.html b/dom/broadcastchannel/tests/testUrl1_bfcache.html new file mode 100644 index 0000000000..d31b13bd25 --- /dev/null +++ b/dom/broadcastchannel/tests/testUrl1_bfcache.html @@ -0,0 +1,18 @@ + diff --git a/dom/broadcastchannel/tests/testUrl2_bfcache.html b/dom/broadcastchannel/tests/testUrl2_bfcache.html new file mode 100644 index 0000000000..a1eed7927a --- /dev/null +++ b/dom/broadcastchannel/tests/testUrl2_bfcache.html @@ -0,0 +1,12 @@ + diff --git a/dom/broadcastchannel/tests/test_bfcache.html b/dom/broadcastchannel/tests/test_bfcache.html new file mode 100644 index 0000000000..0197f343e2 --- /dev/null +++ b/dom/broadcastchannel/tests/test_bfcache.html @@ -0,0 +1,120 @@ + + + + + Test for bfcache and BroadcastChannel + + + + + + + diff --git a/dom/broadcastchannel/tests/test_broadcastchannel_basic.html b/dom/broadcastchannel/tests/test_broadcastchannel_basic.html new file mode 100644 index 0000000000..09196b0c52 --- /dev/null +++ b/dom/broadcastchannel/tests/test_broadcastchannel_basic.html @@ -0,0 +1,67 @@ + + + + Test for BroadcastChannel + + + + + +
+ + + + diff --git a/dom/broadcastchannel/tests/test_broadcastchannel_close.html b/dom/broadcastchannel/tests/test_broadcastchannel_close.html new file mode 100644 index 0000000000..91cb9c92a4 --- /dev/null +++ b/dom/broadcastchannel/tests/test_broadcastchannel_close.html @@ -0,0 +1,61 @@ + + + + Test for BroadcastChannel + + + + + +
+ + + + diff --git a/dom/broadcastchannel/tests/test_broadcastchannel_self.html b/dom/broadcastchannel/tests/test_broadcastchannel_self.html new file mode 100644 index 0000000000..501f71f09c --- /dev/null +++ b/dom/broadcastchannel/tests/test_broadcastchannel_self.html @@ -0,0 +1,37 @@ + + + + Test for BroadcastChannel + + + + + +
+ + + + diff --git a/dom/broadcastchannel/tests/test_broadcastchannel_sharedWorker.html b/dom/broadcastchannel/tests/test_broadcastchannel_sharedWorker.html new file mode 100644 index 0000000000..f76c17cbd8 --- /dev/null +++ b/dom/broadcastchannel/tests/test_broadcastchannel_sharedWorker.html @@ -0,0 +1,52 @@ + + + + + + Test for BroadcastChannel in SharedWorkers + + + + +

+ +
+
+
+ + diff --git a/dom/broadcastchannel/tests/test_broadcastchannel_worker_alive.html b/dom/broadcastchannel/tests/test_broadcastchannel_worker_alive.html new file mode 100644 index 0000000000..3667c8ae9d --- /dev/null +++ b/dom/broadcastchannel/tests/test_broadcastchannel_worker_alive.html @@ -0,0 +1,56 @@ + + + + + + Test for BroadcastChannel in workers + + + + +

+ +
+
+
+ + diff --git a/dom/broadcastchannel/tests/test_dataCloning.html b/dom/broadcastchannel/tests/test_dataCloning.html new file mode 100644 index 0000000000..26c1ce370a --- /dev/null +++ b/dom/broadcastchannel/tests/test_dataCloning.html @@ -0,0 +1,27 @@ + + + + Test for BroadcastChannel.postMessage invalid State + + + + + +
+ + + + diff --git a/dom/broadcastchannel/tests/test_dataURL.html b/dom/broadcastchannel/tests/test_dataURL.html new file mode 100644 index 0000000000..f4f9c71db3 --- /dev/null +++ b/dom/broadcastchannel/tests/test_dataURL.html @@ -0,0 +1,35 @@ + + + + Test for BroadcastChannel in data: URL + + + + +
+var a = new BroadcastChannel('a'); +var b = new BroadcastChannel('a'); +a.onmessage = function(e) { parent.postMessage(e.data, "*"); }; +b.postMessage(42); +
+ + + + diff --git a/dom/broadcastchannel/tests/test_event_listener_leaks.html b/dom/broadcastchannel/tests/test_event_listener_leaks.html new file mode 100644 index 0000000000..33568913fc --- /dev/null +++ b/dom/broadcastchannel/tests/test_event_listener_leaks.html @@ -0,0 +1,55 @@ + + + + + Bug 1450358 - Test BroadcastChannel event listener leak conditions + + + + + + + + + diff --git a/dom/broadcastchannel/tests/test_invalidState.html b/dom/broadcastchannel/tests/test_invalidState.html new file mode 100644 index 0000000000..371a58768a --- /dev/null +++ b/dom/broadcastchannel/tests/test_invalidState.html @@ -0,0 +1,27 @@ + + + + Test for BroadcastChannel.postMessage invalid State + + + + + +
+ + + + diff --git a/dom/broadcastchannel/tests/test_message_after_close.html b/dom/broadcastchannel/tests/test_message_after_close.html new file mode 100644 index 0000000000..1ef8a018ea --- /dev/null +++ b/dom/broadcastchannel/tests/test_message_after_close.html @@ -0,0 +1,31 @@ + + + + Test for BroadcastChannel - message after close + + + + + + + diff --git a/dom/broadcastchannel/tests/test_ordering.html b/dom/broadcastchannel/tests/test_ordering.html new file mode 100644 index 0000000000..5dd36bc77d --- /dev/null +++ b/dom/broadcastchannel/tests/test_ordering.html @@ -0,0 +1,64 @@ + + + + Test for BroadcastChannel.postMessage invalid State + + + + + +
+ + + + -- cgit v1.2.3