tor-browser

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

commit 241c1f2050cc1e75da31330972cc87bc09f20039
parent 5cd562920cc58b7952797bc281c59d9cc0f6437f
Author: Dão Gottwald <dao@mozilla.com>
Date:   Wed,  1 Oct 2025 10:00:49 +0000

Bug 1990543 - Tab to search and contextual search actions should be available in the search bar re-implementation. r=daleharvey

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

Diffstat:
Mbrowser/components/urlbar/ActionsProviderQuickActions.sys.mjs | 3++-
Mbrowser/components/urlbar/ActionsProviderTabGroups.sys.mjs | 3++-
Mbrowser/components/urlbar/UrlbarProviderGlobalActions.sys.mjs | 15++++++++++-----
Mbrowser/components/urlbar/UrlbarProviderInterventions.sys.mjs | 5+++--
Mbrowser/components/urlbar/UrlbarProviderTabToSearch.sys.mjs | 7++++---
Mbrowser/components/urlbar/UrlbarProvidersManager.sys.mjs | 4++--
6 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/browser/components/urlbar/ActionsProviderQuickActions.sys.mjs b/browser/components/urlbar/ActionsProviderQuickActions.sys.mjs @@ -43,8 +43,9 @@ class ProviderQuickActions extends ActionsProvider { return "ActionsProviderQuickActions"; } - isActive(queryContext) { + isActive(queryContext, controller) { return ( + controller.input.isAddressbar && lazy.UrlbarPrefs.get(ENABLED_PREF) && !queryContext.searchMode && queryContext.trimmedSearchString.length < 50 && diff --git a/browser/components/urlbar/ActionsProviderTabGroups.sys.mjs b/browser/components/urlbar/ActionsProviderTabGroups.sys.mjs @@ -26,8 +26,9 @@ class ProviderTabGroups extends ActionsProvider { return "ActionsProviderTabGroups"; } - isActive(queryContext) { + isActive(queryContext, controller) { return ( + controller.input.isAddressbar && Services.prefs.getBoolPref("browser.tabs.groups.enabled") && (!queryContext.restrictSource || queryContext.restrictSource == lazy.UrlbarUtils.RESULT_SOURCE.TABS) && diff --git a/browser/components/urlbar/UrlbarProviderGlobalActions.sys.mjs b/browser/components/urlbar/UrlbarProviderGlobalActions.sys.mjs @@ -57,12 +57,16 @@ export class UrlbarProviderGlobalActions extends UrlbarProvider { return UrlbarUtils.PROVIDER_TYPE.PROFILE; } - async isActive() { - return ( + #controller; + async isActive(_queryContext, controller) { + let isActive = (lazy.UrlbarPrefs.get(SCOTCH_BONNET_PREF) || lazy.UrlbarPrefs.get(ACTIONS_PREF)) && - lazy.UrlbarPrefs.get(QUICK_ACTIONS_PREF) - ); + lazy.UrlbarPrefs.get(QUICK_ACTIONS_PREF); + if (isActive) { + this.#controller = controller; + } + return isActive; } async startQuery(queryContext, addCallback) { @@ -70,7 +74,7 @@ export class UrlbarProviderGlobalActions extends UrlbarProvider { let searchModeEngine = ""; for (let provider of globalActionsProviders) { - if (provider.isActive(queryContext)) { + if (provider.isActive(queryContext, this.#controller)) { for (let action of (await provider.queryActions(queryContext)) || []) { if (action.engine && !searchModeEngine) { searchModeEngine = action.engine; @@ -83,6 +87,7 @@ export class UrlbarProviderGlobalActions extends UrlbarProvider { } } } + this.#controller = null; if (!actionsResults.length) { return; diff --git a/browser/components/urlbar/UrlbarProviderInterventions.sys.mjs b/browser/components/urlbar/UrlbarProviderInterventions.sys.mjs @@ -481,8 +481,9 @@ export class UrlbarProviderInterventions extends UrlbarProvider { * with this provider, to save on resources. * * @param {UrlbarQueryContext} queryContext The query context object + * @param {UrlbarController} controller The current controller. */ - async isActive(queryContext) { + async isActive(queryContext, controller) { if ( !queryContext.searchString || queryContext.searchString.length > UrlbarUtils.MAX_TEXT_LENGTH || @@ -493,7 +494,7 @@ export class UrlbarProviderInterventions extends UrlbarProvider { !Services.policies.isAllowed("urlbarinterventions") || (await this.queryInstance .getProvider(lazy.UrlbarProviderGlobalActions.name) - ?.isActive()) + ?.isActive(queryContext, controller)) ) { return false; } diff --git a/browser/components/urlbar/UrlbarProviderTabToSearch.sys.mjs b/browser/components/urlbar/UrlbarProviderTabToSearch.sys.mjs @@ -123,8 +123,9 @@ export class UrlbarProviderTabToSearch extends UrlbarProvider { * with this provider, to save on resources. * * @param {UrlbarQueryContext} queryContext The query context object + * @param {UrlbarController} controller The current controller. */ - async isActive(queryContext) { + async isActive(queryContext, controller) { return ( queryContext.searchString && queryContext.tokens.length == 1 && @@ -133,8 +134,8 @@ export class UrlbarProviderTabToSearch extends UrlbarProvider { !( (await this.queryInstance .getProvider(lazy.UrlbarProviderGlobalActions.name) - ?.isActive()) && - lazy.ActionsProviderContextualSearch.isActive(queryContext) + ?.isActive(queryContext, controller)) && + lazy.ActionsProviderContextualSearch.isActive(queryContext, controller) ) ); } diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs @@ -52,7 +52,7 @@ var localProviderModules = [ name: "UrlbarProviderGlobalActions", module: "moz-src:///browser/components/urlbar/UrlbarProviderGlobalActions.sys.mjs", - supportedInputTypes: ["urlbar"], + supportedInputTypes: ["urlbar", "searchbar"], }, { name: "UrlbarProviderAliasEngines", @@ -183,7 +183,7 @@ var localProviderModules = [ name: "UrlbarProviderTabToSearch", module: "moz-src:///browser/components/urlbar/UrlbarProviderTabToSearch.sys.mjs", - supportedInputTypes: ["urlbar"], + supportedInputTypes: ["urlbar", "searchbar"], }, { name: "UrlbarProviderTokenAliasEngines",