Bug 1867190 - Initialise the PHC allocate delay later r=glandium
[gecko.git] / layout / xul / test / browser_bug703210.js
blob50268753102afd54beba97a8bb64f4a22c7ec365
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>';
10   let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
11   let browser = gBrowser.selectedBrowser;
13   await new Promise(resolve => {
14     SpecialPowers.pushPrefEnv({ set: [["ui.tooltipDelay", 0]] }, resolve);
15   });
17   let popupShownPromise = BrowserTestUtils.waitForEvent(
18     document,
19     "popupshown",
20     false,
21     event => {
22       is(event.originalTarget.localName, "tooltip", "tooltip is showing");
23       return true;
24     }
25   );
26   let popupHiddenPromise = BrowserTestUtils.waitForEvent(
27     document,
28     "popuphidden",
29     false,
30     event => {
31       is(event.originalTarget.localName, "tooltip", "tooltip is hidden");
32       return true;
33     }
34   );
36   // Send a mousemove at a known position to start the test.
37   await BrowserTestUtils.synthesizeMouseAtCenter(
38     "#p2",
39     { type: "mousemove" },
40     browser
41   );
42   await BrowserTestUtils.synthesizeMouseAtCenter(
43     "#p1",
44     { type: "mousemove" },
45     browser
46   );
47   await popupShownPromise;
48   await BrowserTestUtils.synthesizeMouseAtCenter(
49     "#p2",
50     { type: "mousemove" },
51     browser
52   );
53   await popupHiddenPromise;
55   gBrowser.removeCurrentTab();
56 });