<!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>
