Blame dom/base/test/test_bug704320-1.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
Packit f0b94e
https://bugzilla.mozilla.org/show_bug.cgi?id=704320
Packit f0b94e
This Test is split into two for Bug 1453396
Packit f0b94e
-->
Packit f0b94e
<head>
Packit f0b94e
  <meta charset="utf-8">
Packit f0b94e
  <title>Test for Bug 704320-Part1</title>
Packit f0b94e
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
  <script type="application/javascript" src="referrerHelper.js"></script>
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
Packit f0b94e
Packit f0b94e
<script type="application/javascript">
Packit f0b94e
Packit f0b94e
//generates URLs to test
Packit f0b94e
var generateURLArray = (function(from, to){
Packit f0b94e
  const baseURL = '://example.com/tests/dom/base/test/bug704320.sjs?action=create-1st-level-iframe&scheme-from=';
Packit f0b94e
  const schemeTo = '&scheme-to=';
Packit f0b94e
Packit f0b94e
  return [
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=no-referrer-when-downgrade',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=no-referrer',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=unsafe-url',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=origin',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=origin-when-cross-origin',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=same-origin',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=strict-origin',
Packit f0b94e
    from + baseURL + from + schemeTo + to + '&policy=strict-origin-when-cross-origin',
Packit f0b94e
  ];
Packit f0b94e
});
Packit f0b94e
Packit f0b94e
let testIframeUrls = [generateURLArray('http', 'http'),
Packit f0b94e
                      generateURLArray('https', 'https')];
Packit f0b94e
Packit f0b94e
SimpleTest.waitForExplicitFinish();
Packit f0b94e
let advance = function(testName) {
Packit f0b94e
  testsGenerator[testName].next();
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
let testNames = ['testframeone', 'testframetwo'];
Packit f0b94e
let isTestFinished = 0;
Packit f0b94e
Packit f0b94e
function checkTestsCompleted() {
Packit f0b94e
  isTestFinished++;
Packit f0b94e
  if (isTestFinished == 2) {
Packit f0b94e
    SimpleTest.finish();
Packit f0b94e
  }
Packit f0b94e
}
Packit f0b94e
let testsGenerator = {};
Packit f0b94e
SimpleTest.requestLongerTimeout(4);
Packit f0b94e
/**
Packit f0b94e
 * This is the main test routine -- serialized by use of a generator.
Packit f0b94e
 * It performs all tests in sequence using four iframes.
Packit f0b94e
 */
Packit f0b94e
function startTests(testName, testIframeUrls) {
Packit f0b94e
  testsGenerator[testName] = (function*() {
Packit f0b94e
    var testframe = document.getElementById(testName);
Packit f0b94e
    testframe.onload = function() {
Packit f0b94e
      advance(testName);
Packit f0b94e
    }
Packit f0b94e
Packit f0b94e
    // load the test frame from testIframeUrls[url]
Packit f0b94e
    // it will call back into this function via postMessage when it finishes
Packit f0b94e
    // loading and continue beyond the yield.
Packit f0b94e
    for(url in testIframeUrls) {
Packit f0b94e
      yield testframe.src = testIframeUrls[url];
Packit f0b94e
      // run test and check result for loaded test URL
Packit f0b94e
      yield checkExpectedGlobalResults(testName);
Packit f0b94e
    }
Packit f0b94e
    checkTestsCompleted();
Packit f0b94e
  })();
Packit f0b94e
}
Packit f0b94e
Packit f0b94e
for (i = 0; i < testIframeUrls.length; i++) {
Packit f0b94e
  startTests(testNames[i], testIframeUrls[i]);
Packit f0b94e
}
Packit f0b94e
Packit f0b94e
</script>
Packit f0b94e
</head>
Packit f0b94e
Packit f0b94e
Packit f0b94e
              testsGenerator[testNames[1]].next();">
Packit f0b94e
Mozilla Bug 704320 - HTTP/HTTPS to HTTPS/HTTP
Packit f0b94e

Packit f0b94e
Packit f0b94e
Packit f0b94e
  <iframe id="testframeone"></iframe>
Packit f0b94e
  <iframe id="testframetwo"></iframe>
Packit f0b94e
</body>