mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2026-06-14 03:05:33 -04:00
fix: Simplify/minimize patches (in favor of prebuild.sh) - should allow for far easier maintenance
Signed-off-by: celenity <celenity@celenity.dev>
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
diff --git a/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt b/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt
|
||||
index 3763da85ad..ebcb11af85 100644
|
||||
--- a/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt
|
||||
+++ b/mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt
|
||||
@@ -60,7 +60,7 @@ class TippyTopIconPreparer(
|
||||
type = IconRequest.Resource.Type.TIPPY_TOP,
|
||||
)
|
||||
|
||||
- request.copy(resources = request.resources + resource)
|
||||
+ request
|
||||
} else {
|
||||
request
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
|
||||
index ac0f3bc013..5571c3d891 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
|
||||
@@ -104,6 +104,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
|
||||
}
|
||||
|
||||
requirePreference<SwitchPreference>(R.string.pref_key_mars_api_enabled).apply {
|
||||
+ isVisible = false
|
||||
isChecked = context.settings().marsAPIEnabled
|
||||
onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
||||
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
|
||||
index 774d43efab..16a3d11246 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
|
||||
@@ -1852,7 +1852,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
|
||||
var marsAPIEnabled by lazyFeatureFlagPreference(
|
||||
key = appContext.getPreferenceKey(R.string.pref_key_mars_api_enabled),
|
||||
default = { FxNimbus.features.mars.value().enabled },
|
||||
- featureFlag = true,
|
||||
+ featureFlag = false,
|
||||
)
|
||||
|
||||
/**
|
||||
@@ -11,19 +11,6 @@ index 7b60ad21a4..c2fc8c9b1d 100644
|
||||
getNetworkCapabilities(network ?: activeNetwork)?.let {
|
||||
it.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) &&
|
||||
it.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
|
||||
index a24ff6e34e..9e7bda60fa 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
|
||||
@@ -53,7 +53,7 @@ enum class PhoneFeature(val androidPermissionsList: Array<String>) : Parcelable
|
||||
AUTOPLAY_AUDIBLE ->
|
||||
when (settings?.getAutoplayUserSetting() ?: AUTOPLAY_BLOCK_ALL) {
|
||||
AUTOPLAY_ALLOW_ALL -> R.string.preference_option_autoplay_allowed2
|
||||
- AUTOPLAY_ALLOW_ON_WIFI -> R.string.preference_option_autoplay_allowed_wifi_only2
|
||||
+// AUTOPLAY_ALLOW_ON_WIFI -> R.string.preference_option_autoplay_allowed_wifi_only2
|
||||
AUTOPLAY_BLOCK_AUDIBLE -> R.string.preference_option_autoplay_block_audio2
|
||||
AUTOPLAY_BLOCK_ALL -> R.string.preference_option_autoplay_blocked3
|
||||
else -> R.string.preference_option_autoplay_blocked3
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
|
||||
index 5f5ceb60c0..b11f2165b7 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
|
||||
@@ -36,16 +23,3 @@ index 5f5ceb60c0..b11f2165b7 100644
|
||||
} else {
|
||||
text = getString(R.string.preference_option_phone_feature_blocked)
|
||||
setOnClickListener {
|
||||
diff --git a/mobile/android/fenix/app/src/main/AndroidManifest.xml b/mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
index 600faec5bd..24b582a0ed 100644
|
||||
--- a/mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
+++ b/mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
@@ -7,7 +7,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
+ <!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
|
||||
|
||||
<!-- Allows for storing and retrieving screenshots -->
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
|
||||
index 6875486c72..fa70212977 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
|
||||
@@ -513,7 +513,7 @@ class Core(
|
||||
val passwordsStorage: SyncableLoginsStorage get() = lazyPasswordsStorage.value
|
||||
val autofillStorage: AutofillCreditCardsAddressesStorage get() = lazyAutofillStorage.value
|
||||
val domainsAutocompleteProvider: BaseDomainAutocompleteProvider? get() =
|
||||
- if (FxNimbus.features.suggestShippedDomains.value().enabled) {
|
||||
+ if (false) {
|
||||
lazyDomainsAutocompleteProvider.value
|
||||
} else {
|
||||
null
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
|
||||
index 68190994b3..1cb7c0a0d2 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
|
||||
@@ -114,7 +114,7 @@ class BackgroundServices(
|
||||
// Enable encryption for account state on supported API levels (23+).
|
||||
// Just on Nightly and local builds for now.
|
||||
// Enabling this for all channels is tracked in https://github.com/mozilla-mobile/fenix/issues/6704
|
||||
- secureStateAtRest = Config.channel.isNightlyOrDebug,
|
||||
+ secureStateAtRest = true,
|
||||
)
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -1,16 +1,7 @@
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
|
||||
index a79dcad0f3..2a05bcea28 100644
|
||||
index a79dcad0f3..5d51f71fa4 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
|
||||
@@ -168,7 +168,7 @@ class Components(private val context: Context) {
|
||||
|
||||
@Suppress("MagicNumber")
|
||||
val addonUpdater by lazyMonitored {
|
||||
- DefaultAddonUpdater(context, Frequency(12, TimeUnit.HOURS), notificationsDelegate)
|
||||
+ DefaultAddonUpdater(context, Frequency(1, TimeUnit.HOURS), notificationsDelegate)
|
||||
}
|
||||
|
||||
@Suppress("MagicNumber")
|
||||
@@ -183,7 +183,7 @@ class Components(private val context: Context) {
|
||||
val remoteSettingsSyncScheduler by lazyMonitored {
|
||||
DefaultRemoteSettingsSyncScheduler(
|
||||
@@ -1,65 +1,3 @@
|
||||
diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml
|
||||
index 0620fba71e..f8aa5b62bf 100644
|
||||
--- a/mobile/android/fenix/.buildconfig.yml
|
||||
+++ b/mobile/android/fenix/.buildconfig.yml
|
||||
@@ -62,10 +62,10 @@ projects:
|
||||
- components:feature-webcompat-reporter
|
||||
- components:feature-webnotifications
|
||||
- components:lib-crash
|
||||
- - components:lib-crash-sentry
|
||||
+# - components:lib-crash-sentry
|
||||
- components:lib-dataprotect
|
||||
- components:lib-publicsuffixlist
|
||||
- - components:lib-push-firebase
|
||||
+# - components:lib-push-firebase
|
||||
- components:lib-state
|
||||
- components:service-digitalassetlinks
|
||||
- components:service-firefox-accounts
|
||||
diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle
|
||||
index 029784efad..563893fa2f 100644
|
||||
--- a/mobile/android/fenix/app/build.gradle
|
||||
+++ b/mobile/android/fenix/app/build.gradle
|
||||
@@ -557,7 +557,7 @@ dependencies {
|
||||
testImplementation libs.testing.coroutines
|
||||
implementation libs.accompanist.drawablepainter
|
||||
|
||||
- implementation libs.thirdparty.sentry
|
||||
+// implementation libs.thirdparty.sentry
|
||||
|
||||
implementation ComponentsDependencies.mozilla_appservices_syncmanager
|
||||
|
||||
@@ -649,8 +649,8 @@ dependencies {
|
||||
implementation project(':components:ui-tabcounter')
|
||||
|
||||
implementation project(':components:lib-crash')
|
||||
- implementation project(':components:lib-crash-sentry')
|
||||
- implementation project(':components:lib-push-firebase')
|
||||
+// implementation project(':components:lib-crash-sentry')
|
||||
+// implementation project(':components:lib-push-firebase')
|
||||
implementation project(':components:lib-state')
|
||||
implementation project(':components:lib-dataprotect')
|
||||
testImplementation project(':components:support-test-fakes')
|
||||
@@ -709,15 +709,15 @@ dependencies {
|
||||
implementation libs.protobuf.javalite
|
||||
implementation libs.google.material
|
||||
|
||||
- implementation(libs.adjust)
|
||||
- implementation(libs.installreferrer)
|
||||
+// implementation(libs.adjust)
|
||||
+// implementation(libs.installreferrer)
|
||||
|
||||
// Required for the Google Advertising ID
|
||||
- implementation libs.play.services.ads.id
|
||||
+// implementation libs.play.services.ads.id
|
||||
|
||||
// Required for in-app reviews
|
||||
- implementation libs.play.review
|
||||
- implementation libs.play.review.ktx
|
||||
+// implementation libs.play.review
|
||||
+ implementation 'org.microg.gms:play-services-tasks:v0.0.0.250932'
|
||||
|
||||
androidTestImplementation(libs.androidx.espresso.contrib) {
|
||||
exclude module: 'protobuf-lite'
|
||||
diff --git a/mobile/android/fenix/app/proguard-rules.pro b/mobile/android/fenix/app/proguard-rules.pro
|
||||
index 982ef996de..4002614795 100644
|
||||
--- a/mobile/android/fenix/app/proguard-rules.pro
|
||||
@@ -192,18 +130,9 @@ index 982ef996de..4002614795 100644
|
||||
+-dontwarn org.checkerframework.checker.nullness.qual.EnsuresNonNullIf
|
||||
+-dontwarn org.checkerframework.checker.nullness.qual.RequiresNonNull
|
||||
diff --git a/mobile/android/fenix/app/src/main/AndroidManifest.xml b/mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
index 600faec5bd..76e39d11c1 100644
|
||||
index 600faec5bd..ff22a251d1 100644
|
||||
--- a/mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
+++ b/mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
<!-- Needed to get distribution information from partners.
|
||||
This is NOT required for the adjust plugin. -->
|
||||
- <uses-permission android:name="com.adjust.preinstall.READ_PERMISSION"/>
|
||||
+ <!-- <uses-permission android:name="com.adjust.preinstall.READ_PERMISSION"/> -->
|
||||
|
||||
<application
|
||||
android:name=".FenixApplication"
|
||||
@@ -740,7 +740,7 @@
|
||||
android:name=".messaging.NotificationDismissedService"
|
||||
android:exported="false" />
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml
|
||||
index 0620fba71e..36fad137e1 100644
|
||||
--- a/mobile/android/fenix/.buildconfig.yml
|
||||
+++ b/mobile/android/fenix/.buildconfig.yml
|
||||
@@ -69,7 +69,7 @@ projects:
|
||||
- components:lib-state
|
||||
- components:service-digitalassetlinks
|
||||
- components:service-firefox-accounts
|
||||
- - components:service-glean
|
||||
+# - components:service-glean
|
||||
- components:service-location
|
||||
- components:service-mars
|
||||
- components:service-nimbus
|
||||
diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle
|
||||
index 029784efad..8a978e887d 100644
|
||||
--- a/mobile/android/fenix/app/build.gradle
|
||||
+++ b/mobile/android/fenix/app/build.gradle
|
||||
@@ -628,7 +628,7 @@ dependencies {
|
||||
implementation project(':components:service-sync-autofill')
|
||||
implementation project(':components:service-sync-logins')
|
||||
implementation project(':components:service-firefox-accounts')
|
||||
- implementation project(':components:service-glean')
|
||||
+// implementation project(':components:service-glean')
|
||||
implementation libs.mozilla.glean
|
||||
implementation project(':components:service-location')
|
||||
implementation project(':components:service-nimbus')
|
||||
@@ -1,74 +0,0 @@
|
||||
diff --git a/mobile/android/fenix/.buildconfig.yml b/mobile/android/fenix/.buildconfig.yml
|
||||
index 0620fba71e..2f6a78913f 100644
|
||||
--- a/mobile/android/fenix/.buildconfig.yml
|
||||
+++ b/mobile/android/fenix/.buildconfig.yml
|
||||
@@ -59,7 +59,7 @@ projects:
|
||||
- components:feature-top-sites
|
||||
- components:feature-webauthn
|
||||
- components:feature-webcompat
|
||||
- - components:feature-webcompat-reporter
|
||||
+# - components:feature-webcompat-reporter
|
||||
- components:feature-webnotifications
|
||||
- components:lib-crash
|
||||
- components:lib-crash-sentry
|
||||
diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle
|
||||
index 029784efad..5d74a0a507 100644
|
||||
--- a/mobile/android/fenix/app/build.gradle
|
||||
+++ b/mobile/android/fenix/app/build.gradle
|
||||
@@ -620,7 +620,7 @@ dependencies {
|
||||
implementation project(':components:feature-webauthn')
|
||||
implementation project(':components:feature-webcompat')
|
||||
implementation project(':components:feature-webnotifications')
|
||||
- implementation project(':components:feature-webcompat-reporter')
|
||||
+// implementation project(':components:feature-webcompat-reporter')
|
||||
|
||||
implementation project(':components:service-pocket')
|
||||
implementation project(':components:service-mars')
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt
|
||||
index 8f877cc083..5e4f5f80e0 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt
|
||||
@@ -391,7 +391,7 @@ class MenuDialogFragment : BottomSheetDialogFragment() {
|
||||
?.requestedTranslationPair?.toLanguage
|
||||
val isExtensionsProcessDisabled = browserStore.state.extensionsProcessDisabled
|
||||
val isWebCompatReporterSupported =
|
||||
- FxNimbus.features.menuRedesign.value().reportSiteIssue
|
||||
+ false
|
||||
|
||||
val isDesktopMode by store.observeAsState(initialValue = false) { state ->
|
||||
state.isDesktopMode
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
|
||||
index e7e19273f9..2e6139bd25 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
|
||||
@@ -216,7 +216,7 @@ open class DefaultToolbarMenu(
|
||||
val url = store.state.selectedTab?.content?.url
|
||||
val isAboutUrl = url?.isAboutUrl() ?: false
|
||||
val isContentUrl = url?.isContentUrl() ?: false
|
||||
- return !isAboutUrl && !isContentUrl
|
||||
+ return false
|
||||
}
|
||||
// End of predicates //
|
||||
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
|
||||
index b07cadf1e6..d17beed0a5 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
|
||||
@@ -49,7 +49,7 @@ import mozilla.components.feature.search.ext.waitForSelectedOrDefaultSearchEngin
|
||||
import mozilla.components.feature.syncedtabs.commands.GlobalSyncedTabsCommandsProvider
|
||||
import mozilla.components.feature.top.sites.TopSitesFrecencyConfig
|
||||
import mozilla.components.feature.top.sites.TopSitesProviderConfig
|
||||
-import mozilla.components.feature.webcompat.reporter.WebCompatReporterFeature
|
||||
+//import mozilla.components.feature.webcompat.reporter.WebCompatReporterFeature
|
||||
import mozilla.components.lib.crash.CrashReporter
|
||||
import mozilla.components.service.fxa.manager.SyncEnginesStorage
|
||||
import mozilla.components.service.sync.logins.LoginsApiException
|
||||
@@ -689,7 +689,7 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
|
||||
// TODO: Bug 1953359 - remove the code below in the next release.
|
||||
if (Config.channel.isNightlyOrDebug || Config.channel.isBeta) {
|
||||
logger.debug("Attempting to uninstall the WebCompat Reporter extension")
|
||||
- WebCompatReporterFeature.uninstall(components.core.engine)
|
||||
+// WebCompatReporterFeature.uninstall(components.core.engine)
|
||||
}
|
||||
},
|
||||
onUpdatePermissionRequest = components.addonUpdater::onUpdatePermissionRequest,
|
||||
@@ -1,16 +1,3 @@
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
|
||||
index 03d80ed014..84688258c7 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
|
||||
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
|
||||
@@ -542,7 +542,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||
}
|
||||
}
|
||||
|
||||
- preferenceRemoteDebugging?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
||||
+ preferenceRemoteDebugging?.isVisible = false
|
||||
preferenceRemoteDebugging?.setOnPreferenceChangeListener<Boolean> { preference, newValue ->
|
||||
settings.preferences.edit { putBoolean(preference.key, newValue) }
|
||||
requireComponents.core.engine.settings.remoteDebuggingEnabled = newValue
|
||||
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
|
||||
index 3fa564af49..7116c555f7 100644
|
||||
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
|
||||
@@ -1,16 +1,3 @@
|
||||
diff --git a/toolkit/components/extensions/NativeManifests.sys.mjs b/toolkit/components/extensions/NativeManifests.sys.mjs
|
||||
index 59313e821f..f20a4d209d 100644
|
||||
--- a/toolkit/components/extensions/NativeManifests.sys.mjs
|
||||
+++ b/toolkit/components/extensions/NativeManifests.sys.mjs
|
||||
@@ -36,7 +36,7 @@ export var NativeManifests = {
|
||||
let platform = AppConstants.platform;
|
||||
if (platform == "win") {
|
||||
this._lookup = this._winLookup;
|
||||
- } else if (platform == "macosx" || platform == "linux") {
|
||||
+ } else if (platform == "macosx" || platform == "linux" || platform == "android") {
|
||||
let dirs = [
|
||||
Services.dirsvc.get("XREUserNativeManifests", Ci.nsIFile).path,
|
||||
Services.dirsvc.get("XRESysNativeManifests", Ci.nsIFile).path,
|
||||
diff --git a/toolkit/components/extensions/parent/ext-storage.js b/toolkit/components/extensions/parent/ext-storage.js
|
||||
index 61eb0fb48e..ecdd2bae9a 100644
|
||||
--- a/toolkit/components/extensions/parent/ext-storage.js
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
diff --git a/security/moz.build b/security/moz.build
|
||||
index d2bd01526d..170d83df2a 100644
|
||||
--- a/security/moz.build
|
||||
+++ b/security/moz.build
|
||||
@@ -93,7 +93,7 @@ gyp_vars["nss_dist_obj_dir"] = "$PRODUCT_DIR/dist/bin"
|
||||
gyp_vars["disable_tests"] = 1
|
||||
gyp_vars["disable_dbm"] = 1
|
||||
gyp_vars["disable_libpkix"] = 1
|
||||
-gyp_vars["enable_sslkeylogfile"] = 1
|
||||
+gyp_vars["enable_sslkeylogfile"] = 0
|
||||
# Whether we're using system NSS or Rust nssckbi, we don't need
|
||||
# to build C nssckbi
|
||||
gyp_vars["disable_ckbi"] = 1
|
||||
diff --git a/security/nss/lib/ssl/Makefile b/security/nss/lib/ssl/Makefile
|
||||
index 61abff3721..c8bac4c89d 100644
|
||||
--- a/security/nss/lib/ssl/Makefile
|
||||
+++ b/security/nss/lib/ssl/Makefile
|
||||
@@ -37,7 +37,7 @@ endif
|
||||
|
||||
# Enable key logging by default in debug builds, but not opt builds.
|
||||
# Logging still needs to be enabled at runtime through env vars.
|
||||
-NSS_ALLOW_SSLKEYLOGFILE ?= $(if $(BUILD_OPT),0,1)
|
||||
+NSS_ALLOW_SSLKEYLOGFILE ?= 0
|
||||
ifeq (1,$(NSS_ALLOW_SSLKEYLOGFILE))
|
||||
DEFINES += -DNSS_ALLOW_SSLKEYLOGFILE=1
|
||||
endif
|
||||
@@ -1,71 +0,0 @@
|
||||
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
|
||||
index df5658c723..659a2a589d 100644
|
||||
--- a/docshell/base/nsAboutRedirector.cpp
|
||||
+++ b/docshell/base/nsAboutRedirector.cpp
|
||||
@@ -201,8 +201,8 @@ static const RedirEntry kRedirMap[] = {
|
||||
# endif
|
||||
nsIAboutModule::ALLOW_SCRIPT},
|
||||
#endif
|
||||
- {"telemetry", "chrome://global/content/aboutTelemetry.xhtml",
|
||||
- nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
|
||||
+// {"telemetry", "chrome://global/content/aboutTelemetry.xhtml",
|
||||
+// nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
|
||||
{"translations", "chrome://global/content/translations/translations.html",
|
||||
nsIAboutModule::ALLOW_SCRIPT |
|
||||
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
|
||||
diff --git a/docshell/build/components.conf b/docshell/build/components.conf
|
||||
index 34e06ce332..906db3732c 100644
|
||||
--- a/docshell/build/components.conf
|
||||
+++ b/docshell/build/components.conf
|
||||
@@ -29,7 +29,7 @@ about_pages = [
|
||||
'serviceworkers',
|
||||
'srcdoc',
|
||||
'support',
|
||||
- 'telemetry',
|
||||
+# 'telemetry',
|
||||
'translations',
|
||||
'url-classifier',
|
||||
'webrtc',
|
||||
diff --git a/toolkit/components/telemetry/core/Telemetry.cpp b/toolkit/components/telemetry/core/Telemetry.cpp
|
||||
index 511e3eb3a6..f1b82b8463 100644
|
||||
--- a/toolkit/components/telemetry/core/Telemetry.cpp
|
||||
+++ b/toolkit/components/telemetry/core/Telemetry.cpp
|
||||
@@ -914,7 +914,7 @@ already_AddRefed<nsITelemetry> TelemetryImpl::CreateTelemetryInstance() {
|
||||
#ifndef FUZZING
|
||||
if (XRE_IsParentProcess() || XRE_IsContentProcess() || XRE_IsGPUProcess() ||
|
||||
XRE_IsRDDProcess() || XRE_IsSocketProcess() || XRE_IsUtilityProcess()) {
|
||||
- useTelemetry = true;
|
||||
+ useTelemetry = false;
|
||||
}
|
||||
#endif
|
||||
#ifdef MOZ_BACKGROUNDTASKS
|
||||
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||
index 46d1cb5ed7..a569524eef 100644
|
||||
--- a/toolkit/content/jar.mn
|
||||
+++ b/toolkit/content/jar.mn
|
||||
@@ -37,9 +37,9 @@ toolkit.jar:
|
||||
content/global/aboutGlean.html
|
||||
content/global/aboutGlean.css
|
||||
#endif
|
||||
- content/global/aboutTelemetry.js
|
||||
- content/global/aboutTelemetry.xhtml
|
||||
- content/global/aboutTelemetry.css
|
||||
+# content/global/aboutTelemetry.js
|
||||
+# content/global/aboutTelemetry.xhtml
|
||||
+# content/global/aboutTelemetry.css
|
||||
content/global/aboutUrlClassifier.js
|
||||
content/global/aboutUrlClassifier.xhtml
|
||||
content/global/aboutUrlClassifier.css
|
||||
diff --git a/toolkit/library/rust/gkrust-features.mozbuild b/toolkit/library/rust/gkrust-features.mozbuild
|
||||
index a19af5bd9d..ba8f57bb70 100644
|
||||
--- a/toolkit/library/rust/gkrust-features.mozbuild
|
||||
+++ b/toolkit/library/rust/gkrust-features.mozbuild
|
||||
@@ -60,7 +60,7 @@ if CONFIG["MOZ_WEBRTC"]:
|
||||
# We need to tell Glean it is being built with Gecko.
|
||||
gkrust_features += ["glean_with_gecko"]
|
||||
|
||||
-if not CONFIG["MOZILLA_OFFICIAL"]:
|
||||
+if not CONFIG["0"]:
|
||||
gkrust_features += ["glean_disable_upload"]
|
||||
|
||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||
@@ -1,17 +0,0 @@
|
||||
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||
index 46d1cb5ed7..9ba0855298 100644
|
||||
--- a/toolkit/content/jar.mn
|
||||
+++ b/toolkit/content/jar.mn
|
||||
@@ -174,9 +174,9 @@ toolkit.jar:
|
||||
#ifdef XP_MACOSX
|
||||
content/global/macWindowMenu.js
|
||||
#endif
|
||||
- content/global/gmp-sources/openh264.json (gmp-sources/openh264.json)
|
||||
- content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
|
||||
- content/global/gmp-sources/widevinecdm_l1.json (gmp-sources/widevinecdm_l1.json)
|
||||
+# content/global/gmp-sources/openh264.json (gmp-sources/openh264.json)
|
||||
+# content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
|
||||
+# content/global/gmp-sources/widevinecdm_l1.json (gmp-sources/widevinecdm_l1.json)
|
||||
|
||||
# Third party files
|
||||
content/global/third_party/d3/d3.js (/third_party/js/d3/d3.js)
|
||||
15
patches/gecko-remove-abouttelemetry.patch
Normal file
15
patches/gecko-remove-abouttelemetry.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
|
||||
index df5658c723..659a2a589d 100644
|
||||
--- a/docshell/base/nsAboutRedirector.cpp
|
||||
+++ b/docshell/base/nsAboutRedirector.cpp
|
||||
@@ -201,8 +201,8 @@ static const RedirEntry kRedirMap[] = {
|
||||
# endif
|
||||
nsIAboutModule::ALLOW_SCRIPT},
|
||||
#endif
|
||||
- {"telemetry", "chrome://global/content/aboutTelemetry.xhtml",
|
||||
- nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
|
||||
+// {"telemetry", "chrome://global/content/aboutTelemetry.xhtml",
|
||||
+// nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
|
||||
{"translations", "chrome://global/content/translations/translations.html",
|
||||
nsIAboutModule::ALLOW_SCRIPT |
|
||||
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
|
||||
@@ -32,16 +32,3 @@ index 866f9455d2..77def5f19b 100644
|
||||
]
|
||||
return tasks
|
||||
|
||||
diff --git a/mobile/android/shared-settings.gradle b/mobile/android/shared-settings.gradle
|
||||
index a6efbedbd2..dfbc3da6fc 100644
|
||||
--- a/mobile/android/shared-settings.gradle
|
||||
+++ b/mobile/android/shared-settings.gradle
|
||||
@@ -117,7 +117,7 @@ def buildconfig = yaml.load(buildConfigFile.newInputStream())
|
||||
buildconfig.projects.each { project ->
|
||||
// If we're building A-C, set up all projects, otherwise exclude samples e.g., if we're building Fenix or Focus.
|
||||
// The samples are not relevant for the Fenix and Focus builds.
|
||||
- if (rootDir.toString().contains("android-components") || !project.key.startsWith("samples")) {
|
||||
+ if (!project.key.startsWith("samples")) {
|
||||
setupProject(project.key, project.value.path, project.value.description)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
diff --git a/services/settings/dumps/blocklists/moz.build b/services/settings/dumps/blocklists/moz.build
|
||||
index 485e888f6a..5d13b47c25 100644
|
||||
--- a/services/settings/dumps/blocklists/moz.build
|
||||
+++ b/services/settings/dumps/blocklists/moz.build
|
||||
@@ -16,7 +16,7 @@ FINAL_TARGET_FILES.defaults.settings.blocklists += [
|
||||
# after install.
|
||||
# See https://bugzilla.mozilla.org/show_bug.cgi?id=1639050#c5
|
||||
|
||||
-if not CONFIG["MOZ_BUILD_APP"].startswith("mobile/"):
|
||||
+if not CONFIG["MOZ_BUILD_APP"].startswith("0"):
|
||||
FINAL_TARGET_FILES.defaults.settings.blocklists += [
|
||||
"addons-bloomfilters.json",
|
||||
]
|
||||
diff --git a/services/settings/dumps/main/moz.build b/services/settings/dumps/main/moz.build
|
||||
index 7f89890eb3..617ad6ac59 100644
|
||||
--- a/services/settings/dumps/main/moz.build
|
||||
+++ b/services/settings/dumps/main/moz.build
|
||||
@@ -136,3 +136,14 @@ if CONFIG["MOZ_BUILD_APP"] == "browser":
|
||||
"search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136",
|
||||
"search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136.meta.json",
|
||||
]
|
||||
+
|
||||
+FINAL_TARGET_FILES.defaults.settings.main += [
|
||||
+ "anti-tracking-url-decoration.json",
|
||||
+ "cookie-banner-rules-list.json",
|
||||
+ "hijack-blocklists.json",
|
||||
+ "ironfox-fingerprinting-protection-overrides.json",
|
||||
+ "translations-models.json",
|
||||
+ "translations-wasm.json",
|
||||
+ "url-classifier-skip-urls.json",
|
||||
+ "url-parser-default-unknown-schemes-interventions.json",
|
||||
+]
|
||||
diff --git a/services/settings/dumps/security-state/moz.build b/services/settings/dumps/security-state/moz.build
|
||||
index 6e92217dcb..f2520a178c 100644
|
||||
--- a/services/settings/dumps/security-state/moz.build
|
||||
+++ b/services/settings/dumps/security-state/moz.build
|
||||
@@ -8,7 +8,7 @@ FINAL_TARGET_FILES.defaults.settings["security-state"] += [
|
||||
]
|
||||
|
||||
# Not packaged on android/ios currently - not crucial data for first load.
|
||||
-if not CONFIG["MOZ_BUILD_APP"].startswith("mobile/"):
|
||||
+if not CONFIG["MOZ_BUILD_APP"].startswith("0"):
|
||||
FINAL_TARGET_FILES.defaults.settings["security-state"] += [
|
||||
"intermediates.json",
|
||||
]
|
||||
@@ -1,35 +0,0 @@
|
||||
diff --git a/mobile/android/geckoview/src/main/AndroidManifest.xml b/mobile/android/geckoview/src/main/AndroidManifest.xml
|
||||
index ac6e718f3c..24199dbadd 100644
|
||||
--- a/mobile/android/geckoview/src/main/AndroidManifest.xml
|
||||
+++ b/mobile/android/geckoview/src/main/AndroidManifest.xml
|
||||
@@ -6,7 +6,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
+ <!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> -->
|
||||
<uses-permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
|
||||
tools:ignore="HighSamplingRate" />
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
|
||||
index 3eaf228e93..fbfad996f6 100644
|
||||
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
|
||||
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
|
||||
@@ -190,7 +190,7 @@ public final class GeckoRuntime implements Parcelable {
|
||||
GeckoAppShell.resumeLocation();
|
||||
// Monitor network status and send change notifications to Gecko
|
||||
// while active.
|
||||
- GeckoNetworkManager.getInstance().start(GeckoAppShell.getApplicationContext());
|
||||
+// GeckoNetworkManager.getInstance().start(GeckoAppShell.getApplicationContext());
|
||||
|
||||
// Set settings that may have changed between last app opening
|
||||
GeckoAppShell.setIs24HourFormat(
|
||||
@@ -212,7 +212,7 @@ public final class GeckoRuntime implements Parcelable {
|
||||
// Pause listening for locations when in background
|
||||
GeckoAppShell.pauseLocation();
|
||||
// Stop monitoring network status while inactive.
|
||||
- GeckoNetworkManager.getInstance().stop();
|
||||
+// GeckoNetworkManager.getInstance().stop();
|
||||
GeckoThread.onPause();
|
||||
Clipboard.onPause();
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/mobile/android/geckoview/build.gradle b/mobile/android/geckoview/build.gradle
|
||||
index a04e43ca39..57cae0e428 100644
|
||||
--- a/mobile/android/geckoview/build.gradle
|
||||
+++ b/mobile/android/geckoview/build.gradle
|
||||
@@ -219,7 +219,7 @@ dependencies {
|
||||
implementation libs.androidx.collection
|
||||
implementation libs.androidx.core
|
||||
|
||||
- implementation libs.play.services.fido
|
||||
+ implementation "org.microg.gms:play-services-fido:v0.0.0.250932"
|
||||
implementation "org.yaml:snakeyaml:2.2"
|
||||
|
||||
implementation libs.androidx.lifecycle.common
|
||||
@@ -113,20 +113,6 @@ patches:
|
||||
effect: "Improves privacy and protects the freedom of users."
|
||||
category: "Dependency"
|
||||
|
||||
- file: "geckoview-liberate.patch"
|
||||
name: "Remove Proprietary Libraries (GeckoView)"
|
||||
description: "Replaces the proprietary Google Play FIDO library with its microG equivalent."
|
||||
reason: "To remove unwanted proprietary libraries and the dependence on Google Play Services."
|
||||
effect: "Improves privacy and protects the freedom of users."
|
||||
category: "Dependency"
|
||||
|
||||
- file: "gecko-exclude-gmp-sources.patch"
|
||||
name: "Exclude GMP Sources"
|
||||
description: "Removes Firefox's default sources for installing Gecko Media Plugins (GMP), such as OpenH264 and Widevine (the latter is proprietary) - https://wiki.mozilla.org/GeckoMediaPlugins."
|
||||
reason: "To ensure that Gecko Media Plugins are never downloaded or installed."
|
||||
effect: "Improves privacy and security, and protects the freedom of users."
|
||||
category: "Dependency"
|
||||
|
||||
- file: "a-c-unifiedpush.patch"
|
||||
name: "UnifiedPush (Android Components)"
|
||||
description: "Adds support for UnifiedPush to Mozilla's Android Components."
|
||||
@@ -149,11 +135,11 @@ patches:
|
||||
effect: "Prevents unwanted collection and transmission of telemetry data."
|
||||
category: "Mozilla"
|
||||
|
||||
- file: "gecko-disable-telemetry.patch"
|
||||
name: "Disable Telemetry (Gecko)"
|
||||
description: "Disables data collection and submission mechanisms within Gecko."
|
||||
reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla."
|
||||
effect: "Prevents unwanted collection and transmission of telemetry data."
|
||||
- file: "gecko-remove-abouttelemetery.patch"
|
||||
name: "Remove `about:telemetry`"
|
||||
description: "Removes the internal `about:telemetry` page."
|
||||
reason: "To improve UX."
|
||||
effect: "Prevents users from incorrectly believing telemetry is supported/enabled."
|
||||
category: "Mozilla"
|
||||
|
||||
- file: "a-c-disable-crash-reporting.patch"
|
||||
@@ -184,13 +170,6 @@ patches:
|
||||
effect: "Prevents unwanted collection and transmission of telemetry data."
|
||||
category: "Mozilla"
|
||||
|
||||
- file: "fenix-remove-glean-service.patch"
|
||||
name: "Remove the Glean Service (Fenix)"
|
||||
description: "Removes the Glean Service from Firefox for Android, to prevent data collection and submission mechanisms."
|
||||
reason: "To prevent any usage data, diagnostics, or technical metrics from being sent to Mozilla, and to reduce uwnanted dependencies."
|
||||
effect: "Prevents unwanted collection and transmission of telemetry data."
|
||||
category: "Mozilla"
|
||||
|
||||
- file: "fenix-disable-nimbus.patch"
|
||||
name: "Disable Nimbus Experimentation (Fenix)"
|
||||
description: "Prevents A/B testing and remote configuration of settings via Nimbus within Firefox for Android."
|
||||
@@ -282,13 +261,6 @@ patches:
|
||||
effect: "Simplifies the browser UI and prevents issue reports from being sent to Mozilla."
|
||||
category: "Mozilla"
|
||||
|
||||
- file: "fenix-remove-webcompat-reporter.patch"
|
||||
name: "Remove Web Compatibility Reporter (Fenix)"
|
||||
description: "Removes the Web Compatibility Reporter and associated menu items for reporting site issues to Mozilla from Firefox for Android."
|
||||
reason: "To eliminate unwanted dependencies, to declutter the user interface, and to prevent wasting Mozilla's time."
|
||||
effect: "Simplifies the browser UI and prevents issue reports from being sent to Mozilla."
|
||||
category: "Mozilla"
|
||||
|
||||
- file: "fenix-disable-nags.patch"
|
||||
name: "Disable Nags"
|
||||
description: "Disables Contextual Feature Recommendations, prompts encouraging users to set the browser as the system default, and other promotional messaging."
|
||||
@@ -411,15 +383,8 @@ patches:
|
||||
category: "Privacy"
|
||||
|
||||
- file: "fenix-disable-network-connectivity-monitoring.patch"
|
||||
name: "Disable Network Connectivity Status Monitoring (Fenix)"
|
||||
description: "Removes the `ACCESS_NETWORK_STATE` permission from Firefox for Android, and prevents Firefox from monitoring the status of the user's internet connection."
|
||||
reason: "To prevent the browser from accessing network information (with the `ACCESS_NETWORK_STATE` permission)."
|
||||
effect: "Reduces required permissions and limits data exposed to the browser."
|
||||
category: "Privacy"
|
||||
|
||||
- file: "geckoview-disable-network-connectivity-monitoring.patch"
|
||||
name: "Disable Network Connectivity Status Monitoring (GeckoView)"
|
||||
description: "Removes the `ACCESS_NETWORK_STATE` permission from GeckoView, and prevents GeckoView from monitoring the status of the user's internet connection."
|
||||
name: "Disable Network Connectivity Status Monitoring"
|
||||
description: "Prevents Firefox from monitoring the status of the user's internet connection."
|
||||
reason: "To prevent the browser from accessing network information (with the `ACCESS_NETWORK_STATE` permission)."
|
||||
effect: "Reduces required permissions and limits data exposed to the browser."
|
||||
category: "Privacy"
|
||||
@@ -431,13 +396,6 @@ patches:
|
||||
effect: "Protects users against tracking/fingerprinting."
|
||||
category: "Privacy"
|
||||
|
||||
- file: "a-c-disable-unsolicited-favicon-fetching.patch"
|
||||
name: "Disable Unsolicited Favicon Fetching"
|
||||
description: "To prevent the browser from fetching favicons for homepage shortcuts/pins on launch, without prior user interaction."
|
||||
reason: "To prevent the browser from making unsolicited connections to pinned websites."
|
||||
effect: "Favicons will still display on the homepage after navigating to the shortcut/pin - so this just improves privacy for users by preventing unauthorized connections to third parties."
|
||||
category: "Privacy"
|
||||
|
||||
- file: "gecko-stub-beacon.patch"
|
||||
name: "Stub the Beacon API (navigator.sendBeacon)"
|
||||
description: "To prevent tracking and the submission of analytics, without aiding fingerprinting and causing undesired breakage."
|
||||
@@ -461,13 +419,6 @@ patches:
|
||||
effect: "Users are provided with a more secure browsing experience."
|
||||
category: "Security"
|
||||
|
||||
- file: "fenix-disable-shipped-domains.patch"
|
||||
name: "Disable Shipped Domains"
|
||||
description: "Disables Firefox's built-in list of domains used to autocomplete URLs."
|
||||
reason: "To quote a Mozilla employee (https://bugzilla.mozilla.org/show_bug.cgi?id=1842106#c0): 'Android's current list of 400+ domain names for address bar suggestions was created way back in December 2015... This list hasn't been updated since 2015 and now includes expired and squatted domains that might serve ads or malware'."
|
||||
effect: "Prevents suggesting squatted domains to users that serve ads and malware, and reduces annoyances/unwanted behavior."
|
||||
category: "Security"
|
||||
|
||||
- file: "gecko-harden-pdfjs.patch"
|
||||
name: "Harden PDF.js"
|
||||
description: "Hardens Firefox's built-in PDF Viewer (PDF.js)."
|
||||
@@ -489,32 +440,18 @@ patches:
|
||||
effect: "Ensures browser settings aren't changed without explicit user consent."
|
||||
category: "Security"
|
||||
|
||||
- file: "fenix-hide-remote-debugging-and-reset-per-session.patch"
|
||||
name: "Hide Remote Debugging UI"
|
||||
description: "Hides the UI setting for Remote Debugging."
|
||||
- file: "fenix-reset-remote-debugging-per-session.patch"
|
||||
name: "Reset Remote Debugging Per-session"
|
||||
description: "Forces Remote Debugging (`devtools.debugger.remote-enabled`) to reset to `false` per-session."
|
||||
reason: "To force remote debugging to reset per-session for security reasons."
|
||||
effect: "Prevents users from accidentally leaving remote debugging enabled."
|
||||
category: "Security"
|
||||
|
||||
- file: "gecko-disable-sslkeylogging.patch"
|
||||
name: "Disable SSLKEYLOGGING"
|
||||
description: "Disables the SSLKEYLOGGING feature in NSS (Mozilla's Network Security Services: https://firefox-source-docs.mozilla.org/security/nss/index.html)."
|
||||
reason: "To prevent the unauthorized decryption and exposure of secrets used in SSL/TLS traffic. For more details, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1183318 and https://bugzilla.mozilla.org/show_bug.cgi?id=1915224."
|
||||
effect: "Protects users against total compromise of any and all cryptographic security."
|
||||
category: "Security"
|
||||
|
||||
- file: "fenix-enable-secure-storage.patch"
|
||||
name: "Enable Secure Storage"
|
||||
description: "Enables the use of encrypted storage (via Android's Keystore system: https://developer.android.com/privacy-and-security/keystore) for Firefox account state."
|
||||
reason: "To improve privacy and security for users, by leveraging Android's Keystore system for storing certain data."
|
||||
effect: "Protects users against unauthorized use/compromise of their data."
|
||||
category: "Security"
|
||||
|
||||
- file: "fenix-increase-update-frequency.patch"
|
||||
name: "Increase Update Frequency"
|
||||
description: "Increases the rate at which Firefox checks for add-on updates, from every 12 hours to hourly, and the rate at which Firefox syncs with Remote Settings, from every 24 hours to hourly."
|
||||
- file: "fenix-increase-rs-update-frequency.patch"
|
||||
name: "Increase Remote Settings Update Frequency"
|
||||
description: "Increases the rate at which Firefox syncs with Remote Settings, from every 24 hours to hourly."
|
||||
reason: "To improve security for users, by ensuring they are kept up to date as fast as possible."
|
||||
effect: "Protects users against security vulnerabilities and other potential threats, by ensuring their extensions and Remote Settings are always up to date."
|
||||
effect: "Protects users against security vulnerabilities and other potential threats, by ensuring their Remote Settings are always up to date."
|
||||
category: "Security"
|
||||
|
||||
# User Control
|
||||
@@ -540,13 +477,6 @@ patches:
|
||||
effect: "Improves user experience, and blocking Autoplay reduces bandwidth usage."
|
||||
category: "User Experience"
|
||||
|
||||
- file: "gecko-rs-dumps.patch"
|
||||
name: "Remote Settings Dumps"
|
||||
description: "Includes more Remote Settings Dumps locally (like desktop Firefox) and allows us to add our own custom dumps."
|
||||
reason: "Including more Remote Settings Dumps locally ensures that the content is always available for users on the first launch after installing IronFox, and it saves bandwidth by avoiding the need to initially download the entire dumps remotely. This patch also allows us to add our own custom Remote Settings dumps, so that we can further improve the user experience (ex. with our fingerprinting protection overrides)."
|
||||
effect: "Ensures users are ready to browse and explore out of the box, and can take advantage of our added lists/features."
|
||||
category: "User Experience"
|
||||
|
||||
- file: "gecko-ironfox-fingerprinting-protection-overrides.patch"
|
||||
name: "IronFox Fingerprinting Protection (FPP) Overrides"
|
||||
description: "Adds support for an internal list that disables specific fingerprinting protections as needed on a per-site basis."
|
||||
|
||||
@@ -189,12 +189,26 @@ sed -i -e 's|customExtensionCollectionFeature = .*|customExtensionCollectionFeat
|
||||
|
||||
# No-op Glean
|
||||
# https://searchfox.org/mozilla-central/rev/31123021/mobile/android/fenix/app/build.gradle#443
|
||||
sed -i 's|- components:service-glean|# - components:service-glean|g' .buildconfig.yml
|
||||
sed -i "s|implementation project(':components:service-glean')|// implementation project(':components:service-glean')|g" app/build.gradle
|
||||
echo 'glean.custom.server.url="data;"' >>local.properties
|
||||
|
||||
# No-op Nimbus
|
||||
sed -i -e 's|.experimentDelegate|// .experimentDelegate|' app/src/*/java/org/mozilla/fenix/*/GeckoProvider.kt
|
||||
sed -i -e 's|import mozilla.components.experiment.NimbusExperimentDelegate|// import mozilla.components.experiment.NimbusExperimentDelegate|' app/src/*/java/org/mozilla/fenix/*/GeckoProvider.kt
|
||||
|
||||
# Remove proprietary/tracking libraries
|
||||
sed -i 's|- components:lib-crash-sentry|# - components:lib-crash-sentry|g' .buildconfig.yml
|
||||
sed -i 's|- components:lib-push-firebase|# - components:lib-push-firebase|g' .buildconfig.yml
|
||||
sed -i 's|implementation libs.thirdparty.sentry|// implementation libs.thirdparty.sentry|g' app/build.gradle
|
||||
sed -i "s|implementation project(':components:lib-crash-sentry')|// implementation project(':components:lib-crash-sentry')|g" app/build.gradle
|
||||
sed -i "s|implementation project(':components:lib-push-firebase')|// implementation project(':components:lib-push-firebase')|g" app/build.gradle
|
||||
sed -i 's|implementation(libs.adjust)|// implementation(libs.adjust)|g' app/build.gradle
|
||||
sed -i 's|implementation(libs.installreferrer)|// implementation(libs.installreferrer)|g' app/build.gradle
|
||||
sed -i "s|implementation libs.play.review.ktx|implementation 'org.microg.gms:play-services-tasks:v0.0.0.250932'|g" app/build.gradle
|
||||
sed -i 's|implementation libs.play|// implementation libs.play|g' app/build.gradle
|
||||
sed -i -e 's|<uses-permission android:name="com.adjust.preinstall.READ_PERMISSION"/>|<!-- <uses-permission android:name="com.adjust.preinstall.READ_PERMISSION"/> -->|' app/src/*/AndroidManifest.xml
|
||||
|
||||
# Let it be IronFox
|
||||
sed -i \
|
||||
-e 's/Notifications help you stay safer with Firefox/Enable notifications/' \
|
||||
@@ -367,6 +381,9 @@ rm -vf samples/browser/build.gradle
|
||||
rm -vf samples/crash/build.gradle
|
||||
rm -vf samples/glean/build.gradle
|
||||
|
||||
# Prevent unsolicited favicon fetching
|
||||
sed -i -e 's|request.copy(resources = request.resources + resource)|request|' mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/preparer/TippyTopIconPreparer.kt
|
||||
|
||||
# Apply a-c overlay
|
||||
apply_overlay "$patches/a-c-overlay/"
|
||||
|
||||
@@ -463,9 +480,34 @@ sed -i \
|
||||
# Unbreak builds with --disable-pref-extensions
|
||||
sed -i -e 's|@BINPATH@/defaults/autoconfig/prefcalls.js|;@BINPATH@/defaults/autoconfig/prefcalls.js|g' mobile/android/installer/package-manifest.in
|
||||
|
||||
# Disable network connectivity status monitoring (Fenix)
|
||||
## (Also removes the `NETWORK_ACCESS_STATE` permission)
|
||||
## Also see `fenix-disable-network-connectivity-monitoring.patch`
|
||||
sed -i -e 's|AUTOPLAY_ALLOW_ON_WIFI ->|// AUTOPLAY_ALLOW_ON_WIFI ->|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
|
||||
sed -i -e 's|import org.mozilla.fenix.settings.sitepermissions.AUTOPLAY_ALLOW_ON_WIFI|// import org.mozilla.fenix.settings.sitepermissions.AUTOPLAY_ALLOW_ON_WIFI|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
|
||||
sed -i -e 's|<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />|<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->|' mobile/android/fenix/app/src/main/AndroidManifest.xml
|
||||
|
||||
# Disable network connectivity status monitoring (GeckoView)
|
||||
## (Also removes the `NETWORK_ACCESS_STATE` permission)
|
||||
sed -i -e 's|GeckoNetworkManager.|// GeckoNetworkManager.|' mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
|
||||
sed -i -e 's|import org.mozilla.gecko.GeckoNetworkManager|// import org.mozilla.gecko.GeckoNetworkManager|' mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
|
||||
sed -i -e 's|<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>|<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->|' mobile/android/geckoview/src/main/AndroidManifest.xml
|
||||
|
||||
# Disable Normandy (Experimentation)
|
||||
sed -i -e 's|"MOZ_NORMANDY", .*)|"MOZ_NORMANDY", False)|g' mobile/android/moz.configure
|
||||
|
||||
# Disable shipped domains
|
||||
## (Firefox's built-in list of domains used to autocomplete URLs)
|
||||
## To quote a Mozilla employee (https://bugzilla.mozilla.org/show_bug.cgi?id=1842106#c0): 'Android's current list of 400+ domain names for address bar suggestions was created way back in December 2015... This list hasn't been updated since 2015 and now includes expired and squatted domains that might serve ads or malware'
|
||||
## Prevents suggesting squatted domains to users that serve ads and malware, and reduces annoyances/unwanted behavior.
|
||||
sed -i -e 's|FxNimbus.features.suggestShippedDomains.value().enabled|false|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
|
||||
|
||||
# Disable SSLKEYLOGGING
|
||||
## https://bugzilla.mozilla.org/show_bug.cgi?id=1183318
|
||||
## https://bugzilla.mozilla.org/show_bug.cgi?id=1915224
|
||||
sed -i -e 's|["enable_sslkeylogfile"] = .*|["enable_sslkeylogfile"] = 0|g' security/moz.build
|
||||
sed -i -e 's|NSS_ALLOW_SSLKEYLOGFILE ?= .*|NSS_ALLOW_SSLKEYLOGFILE ?= 0|g' security/nss/lib/ssl/Makefile
|
||||
|
||||
# Disable telemetry
|
||||
sed -i -e 's|"MOZ_SERVICES_HEALTHREPORT", .*)|"MOZ_SERVICES_HEALTHREPORT", False)|g' mobile/android/moz.configure
|
||||
|
||||
@@ -474,6 +516,30 @@ sed -i -e 's|"MOZ_APP_UA_NAME", ".*"|"MOZ_APP_UA_NAME", "Firefox"|g' mobile/andr
|
||||
|
||||
# Enable encrypted storage (via Android's Keystore system: https://developer.android.com/privacy-and-security/keystore) for Firefox account state
|
||||
sed -i -e 's|secureStateAtRest: Boolean = .*|secureStateAtRest: Boolean = true,|g' mobile/android/android-components/components/concept/sync/src/*/java/mozilla/components/concept/sync/Devices.kt
|
||||
sed -i -e 's|secureStateAtRest = .*|secureStateAtRest = true,|g' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
|
||||
|
||||
# Hide Remote Debugging UI setting
|
||||
## Also see `fenix-reset-remote-debugging-per-session.patch`
|
||||
sed -i -e 's|preferenceRemoteDebugging?.isVisible = .*|preferenceRemoteDebugging?.isVisible = false|g' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
|
||||
|
||||
# Include additional Remote Settings local dumps (+ add our own...)
|
||||
sed -i -e 's|"mobile/"|"0"|g' services/settings/dumps/blocklists/moz.build
|
||||
sed -i -e 's|"mobile/"|"0"|g' services/settings/dumps/security-state/moz.build
|
||||
echo '' >>services/settings/dumps/main/moz.build
|
||||
echo 'FINAL_TARGET_FILES.defaults.settings.main += [' >>services/settings/dumps/main/moz.build
|
||||
echo ' "anti-tracking-url-decoration.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "cookie-banner-rules-list.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "hijack-blocklists.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "ironfox-fingerprinting-protection-overrides.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "translations-models.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "translations-wasm.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "url-classifier-skip-urls.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ' "url-parser-default-unknown-schemes-interventions.json",' >>services/settings/dumps/main/moz.build
|
||||
echo ']' >>services/settings/dumps/main/moz.build
|
||||
|
||||
# Increase add-on update frequency
|
||||
## Increases the rate at which Firefox checks for add-on updates, from every 12 hours to hourly
|
||||
sed -i -e 's|DefaultAddonUpdater(context, Frequency(.*,|DefaultAddonUpdater(context, Frequency(1,|g' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
|
||||
|
||||
# No-op AMO collections/recommendations
|
||||
sed -i -e 's/DEFAULT_COLLECTION_NAME = ".*"/DEFAULT_COLLECTION_NAME = ""/' mobile/android/android-components/components/feature/addons/src/*/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
|
||||
@@ -511,7 +577,7 @@ sed -i -e 's/SPOCS_ENDPOINT_DEV_BASE_URL = ".*"/SPOCS_ENDPOINT_DEV_BASE_URL = ""
|
||||
sed -i -e 's/SPOCS_ENDPOINT_PROD_BASE_URL = ".*"/SPOCS_ENDPOINT_PROD_BASE_URL = ""/' mobile/android/android-components/components/service/pocket/src/*/java/mozilla/components/service/pocket/spocs/api/SpocsEndpointRaw.kt
|
||||
sed -i -e 's/POCKET_ENDPOINT_URL = ".*"/POCKET_ENDPOINT_URL = ""/' mobile/android/android-components/components/service/pocket/src/*/java/mozilla/components/service/pocket/stories/api/PocketEndpointRaw.kt
|
||||
|
||||
# No-op Search telemetry
|
||||
# No-op search telemetry
|
||||
sed -i 's|search-telemetry-v2||g' mobile/android/fenix/app/src/*/java/org/mozilla/fenix/components/Core.kt
|
||||
|
||||
# No-op telemetry
|
||||
@@ -524,11 +590,44 @@ sed -i -e '/use_core_mps:/s/true/false/' toolkit/components/glean/src/init/mod.r
|
||||
sed -i 's|localhost||g' toolkit/components/telemetry/pingsender/pingsender.cpp
|
||||
sed -i 's|localhost||g' toolkit/components/telemetry/pings/BackgroundTask_pingsender.sys.mjs
|
||||
sed -i -e 's/usageDeletionRequest.setEnabled(.*)/usageDeletionRequest.setEnabled(false)/' toolkit/components/telemetry/app/UsageReporting.sys.mjs
|
||||
sed -i -e 's|useTelemetry = .*|useTelemetry = false;|g' toolkit/components/telemetry/core/Telemetry.cpp
|
||||
echo '' >>toolkit/library/rust/gkrust-features.mozbuild
|
||||
echo 'gkrust_features += ["glean_disable_upload"]' >>toolkit/library/rust/gkrust-features.mozbuild
|
||||
|
||||
# Prevent DoH canary requests
|
||||
sed -i -e 's/GLOBAL_CANARY = ".*"/GLOBAL_CANARY = ""/' toolkit/components/doh/DoHHeuristics.sys.mjs
|
||||
sed -i -e 's/ZSCALER_CANARY = ".*"/ZSCALER_CANARY = ""/' toolkit/components/doh/DoHHeuristics.sys.mjs
|
||||
|
||||
# Remove `about:telemetry`
|
||||
## Also see `gecko-remove-abouttelemetry.patch`
|
||||
sed -i -e "s|'telemetry'|# &|" docshell/build/components.conf
|
||||
sed -i -e 's|content/global/aboutTelemetry|# content/global/aboutTelemetry|' toolkit/content/jar.mn
|
||||
|
||||
# Remove GMP sources
|
||||
## Removes Firefox's default sources for installing Gecko Media Plugins (GMP), such as OpenH264 and Widevine (the latter is proprietary).
|
||||
## https://wiki.mozilla.org/GeckoMediaPlugins
|
||||
sed -i -e 's|content/global/gmp-sources|# content/global/gmp-sources|' toolkit/content/jar.mn
|
||||
|
||||
# Remove unwanted/sample dependencies
|
||||
## Also see `gecko-remove-example-dependencies.patch`
|
||||
sed -i -e 's#if (rootDir.toString().contains("android-components") || !project.key.startsWith("samples"))#if (!project.key.startsWith("samples"))#' mobile/android/shared-settings.gradle
|
||||
|
||||
# Remove Web Compatibility Reporter
|
||||
## Also see `fenix-remove-webcompat-reporter.patch`
|
||||
sed -i 's|- components:feature-webcompat-reporter|# - components:feature-webcompat-reporter|g' mobile/android/fenix/.buildconfig.yml
|
||||
sed -i "s|implementation project(':components:feature-webcompat-reporter')|// implementation project(':components:feature-webcompat-reporter')|g" mobile/android/fenix/app/build.gradle
|
||||
sed -i -e 's|return !isAboutUrl && !isContentUrl|return false|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
|
||||
sed -i -e 's|FxNimbus.features.menuRedesign.value().reportSiteIssue|false|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt
|
||||
sed -i -e 's|import mozilla.components.feature.webcompat.reporter|// import mozilla.components.feature.webcompat.reporter|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
|
||||
sed -i -e 's|WebCompatReporterFeature.|// WebCompatReporterFeature.|' mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
|
||||
|
||||
# Replace Google Play FIDO with microG
|
||||
sed -i 's|libs.play.services.fido|"org.microg.gms:play-services-fido:v0.0.0.250932"|g' mobile/android/geckoview/build.gradle
|
||||
|
||||
# Unbreak our custom uBlock Origin config
|
||||
## Also see `gecko-custom-ublock-origin-assets.patch`
|
||||
sed -i -e 's#else if (platform == "macosx" || platform == "linux")#else if (platform == "macosx" || platform == "linux" || platform == "android")#' toolkit/components/extensions/NativeManifests.sys.mjs
|
||||
|
||||
# Nuke undesired Mozilla endpoints
|
||||
source "$rootdir/scripts/noop_mozilla_endpoints.sh"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user