tor-browser

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

browser_middleMouse_noJSPaste.js (1294B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 const middleMousePastePref = "middlemouse.contentLoadURL";
      5 const autoScrollPref = "general.autoScroll";
      6 
      7 add_task(async function () {
      8  await pushPrefs(
      9    ["test.wait300msAfterTabSwitch", true],
     10    [middleMousePastePref, true],
     11    [autoScrollPref, false]
     12  );
     13 
     14  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser);
     15 
     16  let url = "javascript:http://www.example.com/";
     17  await new Promise((resolve, reject) => {
     18    SimpleTest.waitForClipboard(
     19      url,
     20      () => {
     21        Cc["@mozilla.org/widget/clipboardhelper;1"]
     22          .getService(Ci.nsIClipboardHelper)
     23          .copyString(url);
     24      },
     25      resolve,
     26      () => {
     27        ok(false, "Clipboard copy failed");
     28        reject();
     29      }
     30    );
     31  });
     32 
     33  let middlePagePromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser);
     34 
     35  // Middle click on the content area
     36  info("Middle clicking");
     37  await BrowserTestUtils.synthesizeMouse(
     38    null,
     39    10,
     40    10,
     41    { button: 1 },
     42    gBrowser.selectedBrowser
     43  );
     44  await middlePagePromise;
     45 
     46  is(
     47    gBrowser.currentURI.spec,
     48    url.replace(/^javascript:/, ""),
     49    "url loaded by middle click doesn't include JS"
     50  );
     51 
     52  gBrowser.removeTab(tab);
     53 });