<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=379959 --> <head> <title>Test for Bug 379959</title> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> </head> <body onload="runTest();"> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=379959">Mozilla Bug 379959</a> <p id="display"> Note: In order to re-run this test correctly you need to shift-reload rather than simply reload. If you just reload we will restore the previous url in the iframe which will result in an extra unexpected message. </p> <div id="content" style="display: none"></div> <iframe id="dataFrame"></iframe> <iframe id="originFrame"></iframe> <pre id="test"> <script class="testbody" type="application/javascript;version=1.7"> SimpleTest.waitForExplicitFinish(); var seenData = false; var seenSameOrigin = false; var seenCrossOrign = false; function receiveMessage(e) { is(e.origin, "http://mochi.test:8888", "wrong sender!"); if (e.data.test === "dataIsAllowed") { is(e.data.result, 1, "data-url load should have succeeded"); seenData = true; } else if (e.data.test === "sameOriginIsAllowed") { is(e.data.result, 1, "same site load should have succeeded"); seenSameOrigin = true; } else if (e.data.test === "crossOriginIsBlocked") { is(e.data.result, 0, "cross site load should have failed"); seenCrossOrign = true; } else { ok (false, "unrecognized test"); } if (seenData && seenSameOrigin && seenCrossOrign) { window.removeEventListener("message", receiveMessage, false); SimpleTest.finish(); } } window.addEventListener("message", receiveMessage, false); function runTest() { // make sure data: is allowed document.getElementById('dataFrame').src = "file_bug379959_data.html"; // make sure same-origin is allowed but cross site is blocked document.getElementById('originFrame').src = "file_bug379959_cross.html"; } </script> </pre> </body> </html>