tor-browser

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

commit c6d6fb249cbb8a4c47fc5b2ef1a283778fe014bb
parent c954fc70457a3fb93f10a89ae71ddb6f944496f0
Author: scottdowne <sdowne@mozilla.com>
Date:   Fri, 28 Nov 2025 18:37:37 +0000

Bug 2002634 - Newtab frecency-based sorting region/locale controls r=ini

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

Diffstat:
Mbrowser/extensions/newtab/lib/ActivityStream.sys.mjs | 15+++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs @@ -60,6 +60,10 @@ const REGION_INFERRED_PERSONALIZATION_CONFIG = "browser.newtabpage.activity-stream.discoverystream.sections.personalization.inferred.region-config"; const LOCALE_INFERRED_PERSONALIZATION_CONFIG = "browser.newtabpage.activity-stream.discoverystream.sections.personalization.inferred.locale-config"; +const REGION_SOV_CONFIG = + "browser.newtabpage.activity-stream.sov.region-config"; +const LOCALE_SOV_CONFIG = + "browser.newtabpage.activity-stream.sov.locale-config"; const REGION_WEATHER_CONFIG = "browser.newtabpage.activity-stream.discoverystream.region-weather-config"; @@ -136,7 +140,7 @@ export function csvPrefHasValue(stringPrefName, value) { throw new Error(`The stringPrefName argument is not a string`); } - const pref = Services.prefs.getStringPref(stringPrefName) || ""; + const pref = Services.prefs.getStringPref(stringPrefName, "") || ""; const prefValues = pref .split(",") .map(s => s.trim()) @@ -163,6 +167,13 @@ function useInferredPersonalization({ geo, locale }) { ); } +function useSov({ geo, locale }) { + return ( + csvPrefHasValue(REGION_SOV_CONFIG, geo) && + csvPrefHasValue(LOCALE_SOV_CONFIG, locale) + ); +} + function useContextualAds({ geo, locale }) { return ( csvPrefHasValue(REGION_CONTEXTUAL_AD_CONFIG, geo) && @@ -959,7 +970,7 @@ export const PREFS_CONFIG = new Map([ "sov.enabled", { title: "Enables share of voice (SOV)", - value: false, + getValue: useSov, }, ], [