summaryrefslogtreecommitdiffstats
path: root/dom/broadcastchannel/tests/iframe_broadcastchannel.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/broadcastchannel/tests/iframe_broadcastchannel.html')
-rw-r--r--dom/broadcastchannel/tests/iframe_broadcastchannel.html35
1 files changed, 35 insertions, 0 deletions
diff --git a/dom/broadcastchannel/tests/iframe_broadcastchannel.html b/dom/broadcastchannel/tests/iframe_broadcastchannel.html
new file mode 100644
index 000000000..fb9a12b4b
--- /dev/null
+++ b/dom/broadcastchannel/tests/iframe_broadcastchannel.html
@@ -0,0 +1,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>
+
+