<!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>