38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
/* 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");
|
|
});
|