summaryrefslogtreecommitdiffstats
path: root/dom/xbl/test/test_bug379959.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xbl/test/test_bug379959.html')
-rw-r--r--dom/xbl/test/test_bug379959.html69
1 files changed, 69 insertions, 0 deletions
diff --git a/dom/xbl/test/test_bug379959.html b/dom/xbl/test/test_bug379959.html
new file mode 100644
index 000000000..2b31b54c5
--- /dev/null
+++ b/dom/xbl/test/test_bug379959.html
@@ -0,0 +1,69 @@
+<!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>