tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 });