diff options
Diffstat (limited to 'dom/websocket/tests/test_bug1384658.html')
-rw-r--r-- | dom/websocket/tests/test_bug1384658.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dom/websocket/tests/test_bug1384658.html b/dom/websocket/tests/test_bug1384658.html new file mode 100644 index 0000000000..dd90a0d5d3 --- /dev/null +++ b/dom/websocket/tests/test_bug1384658.html @@ -0,0 +1,54 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=1384658 +--> +<head> + <meta charset="utf-8"> + <title>Test for Bug 1384658</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + <script type="application/javascript"> + + /** Test for Bug 1384658 **/ + +function test_frameset() { + var bc = new BroadcastChannel("test_channel"); + bc.postMessage("go"); + bc.onmessage = ev => { + ok(ev.data.success, "We didn't hang"); + bc.close(); + test_window(); + }; +} + +function test_window() { + var win = window.open("http://example.com/tests/dom/websocket/tests/window_bug1384658.html", + "_blank", "width=100,height=100"); + var bc = new BroadcastChannel("test_channel"); + bc.onmessage = ev => { + ok(ev.data.success, "We didn't hang"); + bc.close(); + win.close(); + SimpleTest.finish(); + }; +} + +SimpleTest.waitForExplicitFinish(); +// Use nsICookieService.BEHAVIOR_REJECT_TRACKER to not partition BroadcastChannel +// by extra first-party domain information. +SpecialPowers.pushPrefEnv({ + set: [ + ["network.cookie.cookieBehavior", 4], + // disable third-party storage isolation so the test works as expected + ["privacy.partition.always_partition_third_party_non_cookie_storage", false], + ["dom.security.https_first", false] + ], +}, test_frameset); + + </script> +</head> +<frameset id="frame_set" cols="25%,75%" frameborder="yes" border="5" bordercolor="#008800"> + <frame id="test_frame" name="test_frame" src="frame_bug1384658.html" marginwidth="20" marginheight="20"> +</frameset> +</html> |