summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/chrome/test_sandbox_postMessage.html
blob: 46164a1813209ed3ea2a4aba3d1a0e9ed5f332dc (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
<!DOCTYPE HTML>
<html>
<head>
  <title>Testing postMessage from sandbox</title>
  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
<script type="application/javascript">
  SimpleTest.waitForExplicitFinish();
  function doTest() {
    var sandbox = Components.utils.Sandbox("http://mochi.test:8888/", { wantXrays: true });
    var win = window.frames["sameDomain"];
    sandbox.win = win;
    sandbox.is = is;
    sandbox.done = SimpleTest.finish;

    result = Components.utils.evalInSandbox('var data = {some:"data"};'
    +'win.addEventListener("message", receiveMessage, false);'
    +'function receiveMessage(event)'
    +'{'
    +'  is(JSON.stringify(event.data), JSON.stringify(data), "Received the expected message data");'
    +'  done();'
    +'}'
    +'win.postMessage(data, "*")'
    , sandbox);
  }

  addLoadEvent(doTest);
</script>
</head>
<body>
<iframe src="http://mochi.test:8888/"
  id="sameDomain" name="sameDomain">
</iframe>
</body>
</html>