fune/docshell/test/browser/browser_bug388121-2.js
Alexandru Michis 5ca72bfc53 Backed out 7 changesets (bug 1650089) for causing xpcshell failures in test_ext_cookieBehaviors.js
Backed out changeset 336d6eb2fc15 (bug 1650089)
Backed out changeset 283ba29cdbeb (bug 1650089)
Backed out changeset c470e4c65117 (bug 1650089)
Backed out changeset 8fc2f428694d (bug 1650089)
Backed out changeset 37e5185dae14 (bug 1650089)
Backed out changeset a26afdc56d91 (bug 1650089)
Backed out changeset 32e207558b3d (bug 1650089)
2021-08-04 12:32:07 +03:00

73 lines
1.8 KiB
JavaScript

function test() {
waitForExplicitFinish();
var w;
var iteration = 1;
const uris = ["", "about:blank"];
var uri;
var origDoc;
function testLoad() {
if (w.document == origDoc) {
// Go back to polling
// eslint-disable-next-line mozilla/no-arbitrary-setTimeout
setTimeout(testLoad, 10);
return;
}
var prin = w.document.nodePrincipal;
isnot(prin, null, "Loaded principal must not be null when adding " + uri);
isnot(
prin,
undefined,
"Loaded principal must not be undefined when loading " + uri
);
is(
prin.isSystemPrincipal,
false,
"Loaded principal must not be system when loading " + uri
);
w.close();
if (iteration == uris.length) {
finish();
} else {
++iteration;
doTest();
}
}
function doTest() {
uri = uris[iteration - 1];
window.open(uri, "_blank", "width=10,height=10,noopener");
w = Services.wm.getMostRecentWindow("navigator:browser").content;
var prin = w.document.nodePrincipal;
if (!uri) {
uri = undefined;
}
isnot(prin, null, "Forced principal must not be null when loading " + uri);
isnot(
prin,
undefined,
"Forced principal must not be undefined when loading " + uri
);
is(
prin.isSystemPrincipal,
false,
"Forced principal must not be system when loading " + uri
);
if (uri == undefined) {
// No actual load here, so just move along.
w.close();
++iteration;
doTest();
} else {
origDoc = w.document;
// Need to poll, because load listeners on the content window won't
// survive the load.
// eslint-disable-next-line mozilla/no-arbitrary-setTimeout
setTimeout(testLoad, 10);
}
}
doTest();
}