2015-01-15 19:58:40 +03:00
|
|
|
<!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");
|
2018-12-20 01:38:44 +03:00
|
|
|
is(bc.name, "foobar", "BroadcastChannel.name is foobar");
|
2015-01-15 19:58:40 +03:00
|
|
|
|
|
|
|
ok("postMessage" in bc, "BroadcastChannel has postMessage() method");
|
|
|
|
|
|
|
|
bc.onmessage = function(evt) {
|
2018-12-20 01:38:44 +03:00
|
|
|
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");
|
2015-01-15 19:58:40 +03:00
|
|
|
is(evt.data, "Hello world from the window!", "Message received from the window");
|
|
|
|
bc.postMessage("Hello world from the iframe!");
|
2018-12-20 01:38:44 +03:00
|
|
|
};
|
2015-01-15 19:58:40 +03:00
|
|
|
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|