summaryrefslogtreecommitdiffstats
path: root/dom/messagechannel/tests/test_messageChannel.xul
blob: 3d8e3485c6beed419f07ccf4a7f0c9c191ad570e (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
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
<window title="Test for MessageChannel API"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>

  <!-- test results are displayed in the html:body -->
  <body xmlns="http://www.w3.org/1999/xhtml" id="body">
  </body>

  <!-- test code goes here -->
  <script type="application/javascript"><![CDATA[

  ok("MessageChannel" in window, "Should MessageChannel exist?");

  var channel = new MessageChannel();
  ok(channel, "MessageChannel is created");

  channel.port1.onmessage = function(evt) {
    ok(true, "message received!");
    SimpleTest.finish();
  }

  var ifr = document.createElement('browser');
  ifr.setAttribute("src", "iframe_messageChannel_chrome.html");
  ifr.setAttribute("flex", "1");
  ifr.addEventListener('load', function() {
    ifr.contentWindow.postMessage(channel.port2, '*', [channel.port2]);
  });

  var body = document.getElementById("body");
  body.appendChild(ifr);

  SimpleTest.waitForExplicitFinish();

  ]]></script>
</window>