tor-browser

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

commit d9ff7a85ca5789016b93bfbfeaf3318c7429113c
parent 857dc0c7fe05bc2af62f6f608b1f668256ab426b
Author: Moritz Beier <mbeier@mozilla.com>
Date:   Tue, 16 Dec 2025 11:48:24 +0000

Bug 2002293 - Persist search term when opening search in new tab from new searchbar. r=dao,urlbar-reviewers

Differential Revision: https://phabricator.services.mozilla.com/D276461

Diffstat:
Mbrowser/components/urlbar/content/UrlbarInput.mjs | 2+-
Mbrowser/components/urlbar/tests/browser/searchbar/browser_search.js | 19+++++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/browser/components/urlbar/content/UrlbarInput.mjs b/browser/components/urlbar/content/UrlbarInput.mjs @@ -3858,7 +3858,7 @@ export class UrlbarInput extends HTMLElement { this.inputField.setSelectionRange(0, 0); } - if (openUILinkWhere != "current") { + if (openUILinkWhere != "current" && this.sapName != "searchbar") { this.handleRevert(); } diff --git a/browser/components/urlbar/tests/browser/searchbar/browser_search.js b/browser/components/urlbar/tests/browser/searchbar/browser_search.js @@ -39,3 +39,22 @@ add_task(async function test_no_canonization() { Assert.equal(searchbar.value, searchTerm, "Search term was persisted"); searchbar.value = ""; }); + +add_task(async function test_newtab() { + let searchTerm = "test3"; + let expectedUrl = defaultEngine.getSubmission(searchTerm).uri.spec; + + searchbar.focus(); + EventUtils.sendString(searchTerm); + + let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser); + EventUtils.synthesizeKey("KEY_Enter", { altKey: true }); + let newTab = await newTabPromise; + let newBrowser = gBrowser.getBrowserForTab(newTab); + + Assert.equal(gBrowser.selectedBrowser, newBrowser, "Opened in foreground"); + Assert.equal(newBrowser.currentURI.spec, expectedUrl, "Search successful"); + Assert.equal(searchbar.value, searchTerm, "Search term was persisted"); + searchbar.value = ""; + BrowserTestUtils.removeTab(newTab); +});