summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webmessaging/broadcastchannel/cross-origin.html
blob: ee4b2f21c8e3fec488cb28d72e45a7e918210806 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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>