tor-browser

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

commit 796c6a9abf1db427b2f4d8898b75c52798235051
parent e234a0716c5c43982ef73272589fd2879c842593
Author: owlishDeveloper <bugzeeeeee@gmail.com>
Date:   Fri,  7 Nov 2025 21:41:06 +0000

Bug 1998306 - Make SHIP and Fission default in Early Beta for Android r=android-reviewers,tcampbell

This also changes the behavior of setting these pref values. Currently, we override the StaticPrefList.yml by default. After this patch, we would override only if we need to.

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

Diffstat:
Mmobile/android/fenix/app/nimbus.fml.yaml | 20++++++--------------
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt | 13+++++++++----
Mmodules/libpref/init/StaticPrefList.yaml | 7+++++--
3 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/mobile/android/fenix/app/nimbus.fml.yaml b/mobile/android/fenix/app/nimbus.fml.yaml @@ -501,30 +501,22 @@ features: set to true. type: Boolean default: true - defaults: - - channel: nightly - value: - disabled: false - - channel: developer - value: - disabled: false fission: description: The feature that controls whether fission is enabled or not in Gecko. variables: + shouldUseNimbus: + description: > + If true, the values for both SHIP and Fission set in this file apply. + Otherwise, the values from modules/libpref/init/StaticPrefList.yaml apply. + type: Boolean + default: false enabled: description: > Whether or not to enable fission. Fission is enabled when set to true. Fission is disabled when set to false. type: Boolean default: false - defaults: - - channel: nightly - value: - enabled: true - - channel: developer - value: - enabled: true suggest-shipped-domains: description: Feature that suggests domains from the shipped domain list. diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt @@ -88,7 +88,7 @@ object GeckoProvider { context: Context, policy: TrackingProtectionPolicy, ): GeckoRuntimeSettings { - return GeckoRuntimeSettings.Builder() + val builder = GeckoRuntimeSettings.Builder() .crashHandler(CrashHandlerService::class.java) .experimentDelegate(NimbusExperimentDelegate()) .contentBlocking( @@ -123,8 +123,6 @@ object GeckoProvider { .extensionsWebAPIEnabled(true) .translationsOfferPopup(context.settings().offerTranslation) .crashPullNeverShowAgain(context.settings().crashPullNeverShowAgain) - .disableShip(FxNimbus.features.ship.value().disabled) - .fissionEnabled(FxNimbus.features.fission.value().enabled) .setSameDocumentNavigationOverridesLoadType( FxNimbus.features.sameDocumentNavigationOverridesLoadType.value().enabled, ) @@ -133,6 +131,13 @@ object GeckoProvider { ) .isolatedProcessEnabled(context.settings().isIsolatedProcessEnabled) .appZygoteProcessEnabled(context.settings().isAppZygoteEnabled) - .build() + + if (FxNimbus.features.fission.value().shouldUseNimbus) { + builder + .fissionEnabled(FxNimbus.features.fission.value().enabled) + .disableShip(FxNimbus.features.ship.value().disabled) + } + + return builder.build() } } diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml @@ -6080,14 +6080,17 @@ # whether fission is enabled by default. - name: fission.autostart type: bool - value: @IS_NOT_MOBILE@ +#if defined(MOZ_WIDGET_ANDROID) && !defined(IS_EARLY_BETA_OR_EARLIER) + value: false +#else + value: true mirror: never # Disable storing the session history in the parent process, and accessing it # over IPC from the child processes. - name: fission.disableSessionHistoryInParent type: bool -#if defined(MOZ_WIDGET_ANDROID) && !defined(NIGHTLY_BUILD) +#if defined(MOZ_WIDGET_ANDROID) && !defined(IS_EARLY_BETA_OR_EARLIER) value: true #else value: false