add setting to control mozAddonManager API

This commit is contained in:
Fabian Freund
2026-03-11 13:06:23 +01:00
parent 05e68c1dab
commit c189987339
10 changed files with 79 additions and 14 deletions
@@ -85,7 +85,7 @@ object EngineProvider {
// About config it's no longer enabled by default
builder.aboutConfigEnabled(true)
builder.extensionsProcessEnabled(true)
builder.extensionsWebAPIEnabled(false)
builder.extensionsWebAPIEnabled(true)
//builder.debugLogging(components.logLevel == Log.Priority.DEBUG)
builder.consoleOutput(components.logLevel == Log.Priority.DEBUG)
builder.contentBlocking(contentBlocking.build())
@@ -96,6 +96,7 @@ object EngineProvider {
settings.fissionEnabled?.let { builder.fissionEnabled(it) }
settings.isolatedProcessEnabled?.let { builder.isolatedProcessEnabled(it) }
settings.appZygoteProcessEnabled?.let { builder.appZygoteProcessEnabled(it) }
settings.extensionsWebAPIEnabled?.let { builder.extensionsWebAPIEnabled(it) }
settings.displayDensityOverride?.let { builder.displayDensityOverride(it.toFloat()) }
val screenWidth = settings.screenWidthOverride
val screenHeight = settings.screenHeightOverride
@@ -2303,6 +2303,7 @@ data class GeckoEngineSettings (
val fissionEnabled: Boolean? = null,
val isolatedProcessEnabled: Boolean? = null,
val appZygoteProcessEnabled: Boolean? = null,
val extensionsWebAPIEnabled: Boolean? = null,
val lnaBlocking: Boolean? = null,
val lnaBlockTrackers: Boolean? = null,
val lnaEnabled: Boolean? = null
@@ -2348,10 +2349,11 @@ data class GeckoEngineSettings (
val fissionEnabled = pigeonVar_list[35] as Boolean?
val isolatedProcessEnabled = pigeonVar_list[36] as Boolean?
val appZygoteProcessEnabled = pigeonVar_list[37] as Boolean?
val lnaBlocking = pigeonVar_list[38] as Boolean?
val lnaBlockTrackers = pigeonVar_list[39] as Boolean?
val lnaEnabled = pigeonVar_list[40] as Boolean?
return GeckoEngineSettings(javascriptEnabled, trackingProtectionPolicy, httpsOnlyMode, globalPrivacyControlEnabled, preferredColorScheme, cookieBannerHandlingMode, cookieBannerHandlingModePrivateBrowsing, cookieBannerHandlingGlobalRules, cookieBannerHandlingGlobalRulesSubFrames, webContentIsolationStrategy, userAgent, contentBlocking, enterpriseRootsEnabled, dohSettings, fingerprintingProtectionOverrides, locales, blockCookies, customCookiePolicy, blockTrackingContent, trackingContentScope, blockCryptominers, blockFingerprinters, blockRedirectTrackers, blockSuspectedFingerprinters, suspectedFingerprintersScope, allowListBaseline, allowListConvenience, webFontsEnabled, automaticFontSizeAdjustment, fontSizeFactor, fontInflationEnabled, displayDensityOverride, screenWidthOverride, screenHeightOverride, inputAutoZoomEnabled, fissionEnabled, isolatedProcessEnabled, appZygoteProcessEnabled, lnaBlocking, lnaBlockTrackers, lnaEnabled)
val extensionsWebAPIEnabled = pigeonVar_list[38] as Boolean?
val lnaBlocking = pigeonVar_list[39] as Boolean?
val lnaBlockTrackers = pigeonVar_list[40] as Boolean?
val lnaEnabled = pigeonVar_list[41] as Boolean?
return GeckoEngineSettings(javascriptEnabled, trackingProtectionPolicy, httpsOnlyMode, globalPrivacyControlEnabled, preferredColorScheme, cookieBannerHandlingMode, cookieBannerHandlingModePrivateBrowsing, cookieBannerHandlingGlobalRules, cookieBannerHandlingGlobalRulesSubFrames, webContentIsolationStrategy, userAgent, contentBlocking, enterpriseRootsEnabled, dohSettings, fingerprintingProtectionOverrides, locales, blockCookies, customCookiePolicy, blockTrackingContent, trackingContentScope, blockCryptominers, blockFingerprinters, blockRedirectTrackers, blockSuspectedFingerprinters, suspectedFingerprintersScope, allowListBaseline, allowListConvenience, webFontsEnabled, automaticFontSizeAdjustment, fontSizeFactor, fontInflationEnabled, displayDensityOverride, screenWidthOverride, screenHeightOverride, inputAutoZoomEnabled, fissionEnabled, isolatedProcessEnabled, appZygoteProcessEnabled, extensionsWebAPIEnabled, lnaBlocking, lnaBlockTrackers, lnaEnabled)
}
}
fun toList(): List<Any?> {
@@ -2394,6 +2396,7 @@ data class GeckoEngineSettings (
fissionEnabled,
isolatedProcessEnabled,
appZygoteProcessEnabled,
extensionsWebAPIEnabled,
lnaBlocking,
lnaBlockTrackers,
lnaEnabled,
@@ -2721,6 +2721,7 @@ class GeckoEngineSettings {
this.fissionEnabled,
this.isolatedProcessEnabled,
this.appZygoteProcessEnabled,
this.extensionsWebAPIEnabled,
this.lnaBlocking,
this.lnaBlockTrackers,
this.lnaEnabled,
@@ -2814,6 +2815,8 @@ class GeckoEngineSettings {
bool? appZygoteProcessEnabled;
bool? extensionsWebAPIEnabled;
bool? lnaBlocking;
bool? lnaBlockTrackers;
@@ -2860,6 +2863,7 @@ class GeckoEngineSettings {
fissionEnabled,
isolatedProcessEnabled,
appZygoteProcessEnabled,
extensionsWebAPIEnabled,
lnaBlocking,
lnaBlockTrackers,
lnaEnabled,
@@ -2910,9 +2914,10 @@ class GeckoEngineSettings {
fissionEnabled: result[35] as bool?,
isolatedProcessEnabled: result[36] as bool?,
appZygoteProcessEnabled: result[37] as bool?,
lnaBlocking: result[38] as bool?,
lnaBlockTrackers: result[39] as bool?,
lnaEnabled: result[40] as bool?,
extensionsWebAPIEnabled: result[38] as bool?,
lnaBlocking: result[39] as bool?,
lnaBlockTrackers: result[40] as bool?,
lnaEnabled: result[41] as bool?,
);
}
@@ -892,6 +892,7 @@ class GeckoEngineSettings {
final bool? fissionEnabled;
final bool? isolatedProcessEnabled;
final bool? appZygoteProcessEnabled;
final bool? extensionsWebAPIEnabled;
// Local Network Access (LNA) Settings
final bool? lnaBlocking;
@@ -937,6 +938,7 @@ class GeckoEngineSettings {
this.fissionEnabled,
this.isolatedProcessEnabled,
this.appZygoteProcessEnabled,
this.extensionsWebAPIEnabled,
this.lnaBlocking,
this.lnaBlockTrackers,
this.lnaEnabled,