ma1 pushed to branch tor-browser-140.4.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
-
0a2d22e5
by hackademix at 2025-10-21T10:33:41+02:00
4 changed files:
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/webextension/WebExtension.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/Addon.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/ui/PermissionsDialogFragment.kt
Changes:
| ... | ... | @@ -379,6 +379,7 @@ class GeckoWebExtension( |
| 379 | 379 | temporary = it.temporary,
|
| 380 | 380 | detailUrl = it.amoListingUrl,
|
| 381 | 381 | incognito = Incognito.fromString(it.incognito),
|
| 382 | + defaultPrivateBrowsingAllowed = it.allowedInPrivateBrowsing,
|
|
| 382 | 383 | )
|
| 383 | 384 | }
|
| 384 | 385 | }
|
| ... | ... | @@ -508,6 +508,11 @@ data class Metadata( |
| 508 | 508 | * https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/incognito
|
| 509 | 509 | */
|
| 510 | 510 | val incognito: Incognito,
|
| 511 | + |
|
| 512 | + /**
|
|
| 513 | + * Wether this extension should default to pbm-allowed because being installed in global PBM
|
|
| 514 | + */
|
|
| 515 | + val defaultPrivateBrowsingAllowed : Boolean = false,
|
|
| 511 | 516 | )
|
| 512 | 517 | |
| 513 | 518 | /**
|
| ... | ... | @@ -52,6 +52,7 @@ val logger = Logger("Addon") |
| 52 | 52 | * @property ratingUrl The link to the ratings page (user reviews) for this [Addon].
|
| 53 | 53 | * @property detailUrl The link to the detail page for this [Addon].
|
| 54 | 54 | * @property incognito Indicates how the extension works with private browsing windows.
|
| 55 | + * @property defaultPrivateBrowsingAllowed whether the extension should default to pbm-enabled.
|
|
| 55 | 56 | */
|
| 56 | 57 | @SuppressLint("ParcelCreator")
|
| 57 | 58 | @Parcelize
|
| ... | ... | @@ -77,6 +78,7 @@ data class Addon( |
| 77 | 78 | val ratingUrl: String = "",
|
| 78 | 79 | val detailUrl: String = "",
|
| 79 | 80 | val incognito: Incognito = Incognito.SPANNING,
|
| 81 | + val defaultPrivateBrowsingAllowed: Boolean = false,
|
|
| 80 | 82 | ) : Parcelable {
|
| 81 | 83 | |
| 82 | 84 | /**
|
| ... | ... | @@ -489,6 +491,7 @@ data class Addon( |
| 489 | 491 | detailUrl = detailUrl,
|
| 490 | 492 | incognito = incognito,
|
| 491 | 493 | installedState = installedState,
|
| 494 | + defaultPrivateBrowsingAllowed = metadata?.defaultPrivateBrowsingAllowed == true,
|
|
| 492 | 495 | )
|
| 493 | 496 | }
|
| 494 | 497 |
| ... | ... | @@ -270,6 +270,9 @@ class PermissionsDialogFragment : AddonDialogFragment() { |
| 270 | 270 | forOptionalPermissions
|
| 271 | 271 | ) {
|
| 272 | 272 | allowedInPrivateBrowsing.isVisible = false
|
| 273 | + } else {
|
|
| 274 | + allowedInPrivateBrowsing.isChecked = addon.defaultPrivateBrowsingAllowed
|
|
| 275 | + allowedInPrivateBrowsing.isVisible = !addon.defaultPrivateBrowsingAllowed
|
|
| 273 | 276 | }
|
| 274 | 277 | |
| 275 | 278 | positiveButton.setOnClickListener {
|