summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/tabs/browser_tabswitch_select.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/tabs/browser_tabswitch_select.js')
-rw-r--r--browser/base/content/test/tabs/browser_tabswitch_select.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/browser/base/content/test/tabs/browser_tabswitch_select.js b/browser/base/content/test/tabs/browser_tabswitch_select.js
new file mode 100644
index 0000000000..ea5d2e3f40
--- /dev/null
+++ b/browser/base/content/test/tabs/browser_tabswitch_select.js
@@ -0,0 +1,63 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+add_task(async function() {
+ let tab1 = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ "about:support"
+ );
+
+ let tab2 = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ "data:text/html,Goodbye"
+ );
+
+ gURLBar.select();
+
+ await BrowserTestUtils.switchTab(gBrowser, tab1);
+
+ let focusPromise = BrowserTestUtils.waitForEvent(
+ gURLBar.inputField,
+ "select",
+ true
+ );
+ await BrowserTestUtils.switchTab(gBrowser, tab2);
+ await focusPromise;
+
+ is(gURLBar.selectionStart, 0, "url is selected");
+ is(gURLBar.selectionEnd, 22, "url is selected");
+
+ // Now check that the url bar is focused when a new tab is opened while in fullscreen.
+
+ let fullScreenEntered = TestUtils.waitForCondition(
+ () => document.documentElement.getAttribute("sizemode") == "fullscreen"
+ );
+ BrowserFullScreen();
+ await fullScreenEntered;
+
+ tab2.linkedBrowser.focus();
+
+ // Open a new tab
+ focusPromise = BrowserTestUtils.waitForEvent(
+ gURLBar.inputField,
+ "focus",
+ true
+ );
+ EventUtils.synthesizeKey("T", { accelKey: true });
+ await focusPromise;
+
+ is(document.activeElement, gURLBar.inputField, "urlbar is focused");
+
+ let fullScreenExited = TestUtils.waitForCondition(
+ () => document.documentElement.getAttribute("sizemode") != "fullscreen"
+ );
+ BrowserFullScreen();
+ await fullScreenExited;
+
+ BrowserTestUtils.removeTab(gBrowser.selectedTab);
+ BrowserTestUtils.removeTab(tab1);
+ BrowserTestUtils.removeTab(tab2);
+});