summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webmessaging/broadcastchannel/cross-origin.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/webmessaging/broadcastchannel/cross-origin.html38
1 files changed, 38 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webmessaging/broadcastchannel/cross-origin.html b/testing/web-platform/tests/webmessaging/broadcastchannel/cross-origin.html
new file mode 100644
index 0000000000..ee4b2f21c8
--- /dev/null
+++ b/testing/web-platform/tests/webmessaging/broadcastchannel/cross-origin.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<!-- Pull in the with_iframe helper function from the service worker tests -->
+<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
+<body>
+<script>
+
+const events = [];
+
+function testCompletion(t) {
+ return new Promise((resolve) => {
+ window.addEventListener("message", t.step_func(e => {
+ if (e.data == 'done') {
+ assert_equals(events.length, 0);
+ resolve();
+ }
+ }));
+ });
+}
+
+promise_test(async t => {
+
+ const bc0 = new BroadcastChannel('no-cross-origin-messages');
+ bc0.onmessage = e => {window.events.push(e);};
+
+ const testResults = testCompletion(t);
+ const url = get_host_info().HTTPS_NOTSAMESITE_ORIGIN +
+ '/webmessaging/broadcastchannel/resources/cross-origin.html';
+ await with_iframe(url);
+
+ return testResults;
+}, "Messages aren't delivered across origins");
+
+</script>
+</body>