browser_file_nonscript.js (1132B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 add_task(async function test_fileurl_nonscript_load() { 7 await SpecialPowers.pushPrefEnv({ 8 set: [["security.block_fileuri_script_with_wrong_mime", true]], 9 }); 10 11 let file = getChromeDir(getResolvedURI(gTestPath)); 12 file.append("file_loads_nonscript.html"); 13 let uriString = Services.io.newFileURI(file).spec; 14 15 let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, uriString); 16 registerCleanupFunction(async function () { 17 BrowserTestUtils.removeTab(tab); 18 }); 19 20 let counter = await SpecialPowers.spawn(tab.linkedBrowser, [], async () => { 21 Cu.exportFunction(Assert.equal.bind(Assert), content.window, { 22 defineAs: "equal", 23 }); 24 content.window.postMessage("run", "*"); 25 26 await new Promise(resolve => { 27 content.window.addEventListener("message", event => { 28 if (event.data === "done") { 29 resolve(); 30 } 31 }); 32 }); 33 34 return content.window.wrappedJSObject.counter; 35 }); 36 37 is(counter, 1, "Only one script should have run"); 38 });