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