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:
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