Bug 1874684 - Part 28: Return DateDuration from DifferenceISODateTime. r=mgaudet
[gecko.git] / docshell / test / browser / browser_tab_touch_events.js
blobc73b01e45c9f4b5595368e34516bc208fe5b8cc4
1 /* Any copyright is dedicated to the Public Domain.
2    http://creativecommons.org/publicdomain/zero/1.0/ */
4 "use strict";
6 add_task(async function () {
7   const URI = "data:text/html;charset=utf-8,<iframe id='test-iframe'></iframe>";
9   await BrowserTestUtils.withNewTab(
10     { gBrowser, url: URI },
11     async function (browser) {
12       await SpecialPowers.spawn(browser, [], test_init);
14       browser.browsingContext.touchEventsOverride = "disabled";
16       await SpecialPowers.spawn(browser, [], test_body);
17     }
18   );
19 });
21 async function test_init() {
22   is(
23     content.browsingContext.touchEventsOverride,
24     "none",
25     "touchEventsOverride flag should be initially set to NONE"
26   );
29 async function test_body() {
30   let bc = content.browsingContext;
31   is(
32     bc.touchEventsOverride,
33     "disabled",
34     "touchEventsOverride flag should be changed to DISABLED"
35   );
37   let frameWin = content.document.querySelector("#test-iframe").contentWindow;
38   bc = frameWin.browsingContext;
39   is(
40     bc.touchEventsOverride,
41     "disabled",
42     "touchEventsOverride flag should be passed on to frames."
43   );
45   let newFrame = content.document.createElement("iframe");
46   content.document.body.appendChild(newFrame);
48   let newFrameWin = newFrame.contentWindow;
49   bc = newFrameWin.browsingContext;
50   is(
51     bc.touchEventsOverride,
52     "disabled",
53     "Newly created frames should use the new touchEventsOverride flag"
54   );
56   // Wait for the non-transient about:blank to load.
57   await ContentTaskUtils.waitForEvent(newFrame, "load");
58   newFrameWin = newFrame.contentWindow;
59   bc = newFrameWin.browsingContext;
60   is(
61     bc.touchEventsOverride,
62     "disabled",
63     "Newly created frames should use the new touchEventsOverride flag"
64   );
66   newFrameWin.location.reload();
67   await ContentTaskUtils.waitForEvent(newFrame, "load");
68   newFrameWin = newFrame.contentWindow;
69   bc = newFrameWin.browsingContext;
70   is(
71     bc.touchEventsOverride,
72     "disabled",
73     "New touchEventsOverride flag should persist across reloads"
74   );