summaryrefslogtreecommitdiffstats
path: root/dom/broadcastchannel/tests/iframe_broadcastchannel.html
blob: fb9a12b4bddebebe16e5009abe61d1e0c873f72d (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
<!DOCTYPE HTML>
<html>
<body>
  <script type="application/javascript">

function is(a, b, msg) {
  ok(a == b, msg);
}

function ok(a, msg) {
  window.parent.postMessage({ status: a ? "OK" : "KO", message: msg }, "*");
}

ok("BroadcastChannel" in window, "BroadcastChannel exists");

var bc = new BroadcastChannel("foobar");
ok(bc, "BroadcastChannel can be created");
is(bc.name, 'foobar', "BroadcastChannel.name is foobar");

ok("postMessage" in bc, "BroadcastChannel has postMessage() method");

bc.onmessage = function(evt) {
  ok(evt instanceof MessageEvent, 'evt is a MessageEvent');
  is(evt.target, bc, 'MessageEvent.target is bc');
  is(evt.target.name, 'foobar', 'MessageEvent.target.name is foobar');
  is(evt.target.name, bc.name, 'MessageEvent.target.name is bc.name');
  is(evt.data, "Hello world from the window!", "Message received from the window");
  bc.postMessage("Hello world from the iframe!");
}

  </script>
</body>
</html>