tor-browser

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

browser_fileURL.js (1819B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 "use strict";
      5 
      6 const EMPTY_URL = "/browser/dom/workers/test/empty.html";
      7 const WORKER_URL = "/browser/dom/workers/test/empty_worker.js";
      8 
      9 add_task(async function () {
     10  let tab = BrowserTestUtils.addTab(
     11    gBrowser,
     12    "http://mochi.test:8888" + EMPTY_URL
     13  );
     14  gBrowser.selectedTab = tab;
     15 
     16  let browser = gBrowser.getBrowserForTab(tab);
     17  await BrowserTestUtils.browserLoaded(browser);
     18 
     19  await SpecialPowers.spawn(
     20    browser,
     21    ["http://example.org" + WORKER_URL],
     22    function (spec) {
     23      return new content.Promise((resolve, reject) => {
     24        let w = new content.window.Worker(spec);
     25        w.onerror = _ => {
     26          resolve();
     27        };
     28        w.onmessage = _ => {
     29          reject();
     30        };
     31      });
     32    }
     33  );
     34  ok(
     35    true,
     36    "The worker is not loaded when the script is from different origin."
     37  );
     38 
     39  BrowserTestUtils.removeTab(tab);
     40 });
     41 
     42 add_task(async function () {
     43  let tab = BrowserTestUtils.addTab(
     44    gBrowser,
     45    "https://example.org" + EMPTY_URL
     46  );
     47  gBrowser.selectedTab = tab;
     48 
     49  let browser = gBrowser.getBrowserForTab(tab);
     50  await BrowserTestUtils.browserLoaded(browser);
     51 
     52  await SpecialPowers.spawn(
     53    browser,
     54    ["http://example.org" + WORKER_URL],
     55    function (spec) {
     56      return new content.Promise((resolve, reject) => {
     57        let w = new content.window.Worker(spec);
     58        w.onerror = _ => {
     59          resolve();
     60        };
     61        w.onmessage = _ => {
     62          reject();
     63        };
     64      });
     65    }
     66  );
     67  ok(
     68    true,
     69    "The worker is not loaded when the script is from different origin."
     70  );
     71 
     72  BrowserTestUtils.removeTab(tab);
     73 });