"use strict";
// This test makes sure that a policy container & content security policy is initialized for frontend created documents
// see bug https://bugzilla.mozilla.org/show_bug.cgi?id=2002654
add_task(async
function test_policy_container_and_csp_in_about_blank() {
let tab = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"about:blank"
);
try {
await SpecialPowers.spawn(tab.linkedBrowser, [],
function () {
let meta = content.document.createElement(
"meta");
meta.httpEquiv =
"Content-Security-Policy";
meta.content =
"script-src 'none'";
content.document.head.appendChild(meta);
Assert.ok(
(() => {
try {
content.window.eval(
"1 + 1");
return false;
}
catch (ex) {
return true;
}
})(),
"CSP set for frontend created document"
);
});
}
finally {
BrowserTestUtils.removeTab(tab);
}
});