summaryrefslogtreecommitdiffstats
path: root/dom/base/test/test_bug704320-2.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/test_bug704320-2.html')
-rw-r--r--dom/base/test/test_bug704320-2.html99
1 files changed, 99 insertions, 0 deletions
diff --git a/dom/base/test/test_bug704320-2.html b/dom/base/test/test_bug704320-2.html
new file mode 100644
index 0000000000..03a90e071b
--- /dev/null
+++ b/dom/base/test/test_bug704320-2.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=704320
+This Test is split into two for Bug 1453396
+-->
+<head>
+ <meta charset="utf-8">
+ <title>Test for Bug 704320-Part2</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="referrerHelper.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+
+<script type="application/javascript">
+
+// We do not want HTTPS upgrades to interfere with this test. For that,
+// see dom/security/test/referrer-policy/test_referrer_redirect.html.
+SpecialPowers.pushPrefEnv({
+ set: [
+ ["dom.security.https_first", false],
+ ["security.mixed_content.upgrade_display_content", false]
+ ],
+});
+
+//generates URLs to test
+var generateURLArray = (function(from, to){
+ const baseURL = '://example.com/tests/dom/base/test/bug704320.sjs?action=create-1st-level-iframe&scheme-from=';
+ const schemeTo = '&scheme-to=';
+
+ return [
+ from + baseURL + from + schemeTo + to + '&policy=no-referrer-when-downgrade',
+ from + baseURL + from + schemeTo + to + '&policy=no-referrer',
+ from + baseURL + from + schemeTo + to + '&policy=unsafe-url',
+ from + baseURL + from + schemeTo + to + '&policy=origin',
+ from + baseURL + from + schemeTo + to + '&policy=origin-when-cross-origin',
+ from + baseURL + from + schemeTo + to + '&policy=same-origin',
+ from + baseURL + from + schemeTo + to + '&policy=strict-origin',
+ from + baseURL + from + schemeTo + to + '&policy=strict-origin-when-cross-origin',
+ ];
+});
+
+let testIframeUrls = [generateURLArray('http', 'https'),
+ generateURLArray('https', 'http')];
+
+SimpleTest.waitForExplicitFinish();
+let advance = function(testName) {
+ testsGenerator[testName].next();
+};
+
+let testNames = ['testframeone', 'testframetwo'];
+let isTestFinished = 0;
+
+function checkTestsCompleted() {
+ isTestFinished++;
+ if (isTestFinished == 2) {
+ SimpleTest.finish();
+ }
+}
+let testsGenerator = {};
+SimpleTest.requestLongerTimeout(4);
+/**
+ * This is the main test routine -- serialized by use of a generator.
+ * It performs all tests in sequence using four iframes.
+ */
+function startTests(testName, iframeUrls) {
+ testsGenerator[testName] = (function*() {
+ var testframe = document.getElementById(testName);
+ testframe.onload = function() {
+ advance(testName);
+ }
+
+ // load the test frame from iframeUrls[url]
+ // it will call back into this function via postMessage when it finishes
+ // loading and continue beyond the yield.
+ for(url in iframeUrls) {
+ yield testframe.src = iframeUrls[url];
+ // run test and check result for loaded test URL
+ yield checkExpectedGlobalResults(testName);
+ }
+ checkTestsCompleted();
+ })();
+}
+
+for (i = 0; i < testIframeUrls.length; i++) {
+ startTests(testNames[i], testIframeUrls[i]);
+}
+
+</script>
+</head>
+
+<body onload="testsGenerator[testNames[0]].next();
+ testsGenerator[testNames[1]].next();">
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=704320">Mozilla Bug 704320 - HTTP/HTTPS to HTTPS/HTTP</a>
+<p id="display"></p>
+<pre id="content">
+</pre>
+ <iframe id="testframeone"></iframe>
+ <iframe id="testframetwo"></iframe>
+</body>