tor-browser

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

browser_bug703210.js (1535B)


      1 add_task(async function () {
      2  const url =
      3    "data:text/html," +
      4    "<html onmousemove='event.stopPropagation()'" +
      5    " onmouseenter='event.stopPropagation()' onmouseleave='event.stopPropagation()'" +
      6    " onmouseover='event.stopPropagation()' onmouseout='event.stopPropagation()'>" +
      7    '<p id="p1" title="tooltip is here">This paragraph has a tooltip.</p>' +
      8    '<p id="p2">This paragraph doesn\'t have tooltip.</p></html>';
      9 
     10  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
     11  let browser = gBrowser.selectedBrowser;
     12 
     13  await SpecialPowers.pushPrefEnv({ set: [["ui.tooltip.delay_ms", 0]] });
     14 
     15  let popupShownPromise = BrowserTestUtils.waitForEvent(
     16    document,
     17    "popupshown",
     18    false,
     19    event => {
     20      is(event.originalTarget.localName, "tooltip", "tooltip is showing");
     21      return true;
     22    }
     23  );
     24  let popupHiddenPromise = BrowserTestUtils.waitForEvent(
     25    document,
     26    "popuphidden",
     27    false,
     28    event => {
     29      is(event.originalTarget.localName, "tooltip", "tooltip is hidden");
     30      return true;
     31    }
     32  );
     33 
     34  // Send a mousemove at a known position to start the test.
     35  await BrowserTestUtils.synthesizeMouseAtCenter(
     36    "#p2",
     37    { type: "mousemove" },
     38    browser
     39  );
     40  await BrowserTestUtils.synthesizeMouseAtCenter(
     41    "#p1",
     42    { type: "mousemove" },
     43    browser
     44  );
     45  await popupShownPromise;
     46  await BrowserTestUtils.synthesizeMouseAtCenter(
     47    "#p2",
     48    { type: "mousemove" },
     49    browser
     50  );
     51  await popupHiddenPromise;
     52 
     53  gBrowser.removeCurrentTab();
     54 });