mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 01:35:35 +00:00
0d460e3432
This is split from the previous changeset since if we include dom/ the file size is too large for phabricator to handle. This is an autogenerated commit to handle scripts loading mochitest harness files, in the simple case where the script src is on the same line as the tag. This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170 using the `--part 2` argument. Differential Revision: https://phabricator.services.mozilla.com/D27457 --HG-- extra : moz-landing-system : lando
78 lines
2.4 KiB
HTML
78 lines
2.4 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1530608
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test for Bug 1530608</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<script type="application/javascript">
|
|
|
|
/** Test for Bug 1530608 **/
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var Cu = SpecialPowers.Cu;
|
|
var isSameCompartment = Cu.getJSTestingFunctions().isSameCompartment;
|
|
|
|
var testsDone = 0;
|
|
function finishIfDone() {
|
|
testsDone++;
|
|
if (testsDone === 4) {
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
|
|
// Test 1: same-origin iframe.
|
|
function testFrame1() {
|
|
var frameWin = document.getElementById("frame1").contentWindow;
|
|
ok(isSameCompartment(window, frameWin),
|
|
"Same-origin iframe must be same-compartment");
|
|
finishIfDone();
|
|
}
|
|
|
|
// Test 2: cross-origin iframe.
|
|
function testFrame2() {
|
|
var frameWin = document.getElementById("frame2").contentWindow;
|
|
ok(!isSameCompartment(window, frameWin),
|
|
"Cross-origin iframe must be cross-compartment");
|
|
finishIfDone();
|
|
}
|
|
|
|
// Test 3: same-site, cross-origin iframe.
|
|
function testFrame3() {
|
|
var frame = document.getElementById("frame3");
|
|
ok(!isSameCompartment(window, frame.contentWindow),
|
|
"Same-site cross-origin iframe must be cross-compartment");
|
|
|
|
// Now load a same-origin page in this iframe.
|
|
frame.onload = function() {
|
|
ok(isSameCompartment(window, frame.contentWindow),
|
|
"Frame must be same-compartment now");
|
|
finishIfDone();
|
|
};
|
|
frame.src = "file_empty.html";
|
|
}
|
|
|
|
// Test 4: dynamically created iframe.
|
|
addLoadEvent(function() {
|
|
var frame = document.createElement("iframe");
|
|
document.body.appendChild(frame);
|
|
ok(isSameCompartment(window, frame.contentWindow),
|
|
"Newly created iframe must be same-compartment");
|
|
finishIfDone();
|
|
});
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1530608">Mozilla Bug 1530608</a>
|
|
|
|
<iframe id="frame1" onload="testFrame1()" src="file_empty.html"></iframe>
|
|
<iframe id="frame2" onload="testFrame2()" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html"></iframe>
|
|
<iframe id="frame3" onload="testFrame3()" src="http://test1.mochi.test:8888/tests/js/xpconnect/tests/mochitest/file_empty.html"></iframe>
|
|
|
|
</body>
|
|
</html>
|