tor-browser

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

browser_fullscreen_newtab.js (1516B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 // This test verifies that when in fullscreen mode, and a new tab is opened,
      7 // fullscreen mode is exited and the url bar is focused.
      8 add_task(async function test_fullscreen_display_none() {
      9  await SpecialPowers.pushPrefEnv({
     10    set: [
     11      ["test.wait300msAfterTabSwitch", true],
     12      ["full-screen-api.enabled", true],
     13      ["full-screen-api.allow-trusted-requests-only", false],
     14    ],
     15  });
     16 
     17  let tab = await BrowserTestUtils.openNewForegroundTab(
     18    gBrowser,
     19    "https://example.org/browser/browser/base/content/test/fullscreen/fullscreen.html"
     20  );
     21 
     22  let fullScreenEntered = BrowserTestUtils.waitForEvent(
     23    document,
     24    "fullscreenchange",
     25    false,
     26    () => document.fullscreenElement
     27  );
     28 
     29  await SpecialPowers.spawn(tab.linkedBrowser, [], async () => {
     30    content.document.getElementById("request").click();
     31  });
     32 
     33  await fullScreenEntered;
     34 
     35  let fullScreenExited = BrowserTestUtils.waitForEvent(
     36    document,
     37    "fullscreenchange",
     38    false,
     39    () => !document.fullscreenElement
     40  );
     41 
     42  let focusPromise = BrowserTestUtils.waitForEvent(window, "focus");
     43  EventUtils.synthesizeKey("T", { accelKey: true });
     44  await focusPromise;
     45 
     46  is(
     47    document.activeElement,
     48    gURLBar.inputField,
     49    "url bar is focused after new tab opened"
     50  );
     51 
     52  await fullScreenExited;
     53 
     54  BrowserTestUtils.removeTab(gBrowser.selectedTab);
     55  BrowserTestUtils.removeTab(tab);
     56 });