/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
add_task(async
function test_fileurl_nonscript_load() {
await SpecialPowers.pushPrefEnv({
set: [[
"security.block_fileuri_script_with_wrong_mime",
true]],
});
let file = getChromeDir(getResolvedURI(gTestPath));
file.append(
"file_loads_nonscript.html");
let uriString = Services.io.newFileURI(file).spec;
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, uriString);
registerCleanupFunction(async
function () {
BrowserTestUtils.removeTab(tab);
});
let counter = await SpecialPowers.spawn(tab.linkedBrowser, [], async () => {
Cu.exportFunction(
Assert.equal.bind(
Assert), content.window, {
defineAs:
"equal",
});
content.window.postMessage(
"run",
"*");
await
new Promise(resolve => {
content.window.addEventListener(
"message", event => {
if (event.data ===
"done") {
resolve();
}
});
});
return content.window.wrappedJSObject.counter;
});
is(counter, 1,
"Only one script should have run");
});