зеркало из https://github.com/mozilla/gecko-dev.git
42 строки
1.2 KiB
JavaScript
42 строки
1.2 KiB
JavaScript
//"use strict"
|
|
|
|
const kTestPath = getRootDirectory(gTestPath);
|
|
const kTestURI = kTestPath + "file_assert_systemprincipal_documents.html";
|
|
|
|
add_task(async function setup() {
|
|
// We expect the assertion in function
|
|
// CheckSystemPrincipalLoads as defined in
|
|
// file dom/security/nsContentSecurityManager.cpp
|
|
SimpleTest.expectAssertions(1);
|
|
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [
|
|
["security.disallow_non_local_systemprincipal_in_tests", true],
|
|
["security.allow_unsafe_parent_loads", true],
|
|
],
|
|
});
|
|
});
|
|
|
|
add_task(async function open_test_iframe_in_tab() {
|
|
// This looks at the iframe (load type SUBDOCUMENT)
|
|
await BrowserTestUtils.withNewTab(
|
|
{ gBrowser, url: kTestURI },
|
|
async browser => {
|
|
await SpecialPowers.spawn(browser, [], async function() {
|
|
let outerPrincipal = content.document.nodePrincipal;
|
|
ok(
|
|
outerPrincipal.isSystemPrincipal,
|
|
"Sanity: Using SystemPrincipal for test file on chrome://"
|
|
);
|
|
const iframeDoc = content.document.getElementById("testframe")
|
|
.contentDocument;
|
|
is(
|
|
iframeDoc.body.innerHTML,
|
|
"",
|
|
"iframe with systemprincipal should be empty document"
|
|
);
|
|
});
|
|
}
|
|
);
|
|
});
|