@@ -23,6 +23,7 @@ import mozilla.components.concept.fetch.Client
2323import mozilla.components.feature.webcompat.WebCompatFeature
2424import mozilla.components.support.base.log.Log
2525import mozilla.components.support.base.log.logger.Logger
26+ import mozilla.components.support.webextensions.BuiltInWebExtensionController
2627import org.mozilla.geckoview.ContentBlocking
2728import org.mozilla.geckoview.GeckoRuntime
2829import org.mozilla.geckoview.GeckoRuntimeSettings
@@ -41,24 +42,30 @@ object EngineProvider {
4142 val builder = GeckoRuntimeSettings .Builder ()
4243 val contentBlocking = ContentBlocking .Settings .Builder ();
4344
44- contentBlocking.bounceTrackingProtectionMode(when (components.contentBlocking.bounceTrackingProtectionMode) {
45- BounceTrackingProtectionMode .ENABLED -> EngineSession .BounceTrackingProtectionMode .ENABLED .mode
46- BounceTrackingProtectionMode .DISABLED -> EngineSession .BounceTrackingProtectionMode .DISABLED .mode
47- BounceTrackingProtectionMode .ENABLED_STANDBY -> EngineSession .BounceTrackingProtectionMode .ENABLED_STANDBY .mode
48- BounceTrackingProtectionMode .ENABLED_DRY_RUN -> EngineSession .BounceTrackingProtectionMode .ENABLED_DRY_RUN .mode
49- })
50-
51- contentBlocking.queryParameterStrippingEnabled(when (components.contentBlocking.queryParameterStripping) {
52- QueryParameterStripping .ENABLED -> true
53- QueryParameterStripping .DISABLED -> false
54- QueryParameterStripping .PRIVATE_ONLY -> false
55- })
56-
57- contentBlocking.queryParameterStrippingPrivateBrowsingEnabled(when (components.contentBlocking.queryParameterStripping) {
58- QueryParameterStripping .ENABLED -> true
59- QueryParameterStripping .DISABLED -> false
60- QueryParameterStripping .PRIVATE_ONLY -> true
61- })
45+ contentBlocking.bounceTrackingProtectionMode(
46+ when (components.contentBlocking.bounceTrackingProtectionMode) {
47+ BounceTrackingProtectionMode .ENABLED -> EngineSession .BounceTrackingProtectionMode .ENABLED .mode
48+ BounceTrackingProtectionMode .DISABLED -> EngineSession .BounceTrackingProtectionMode .DISABLED .mode
49+ BounceTrackingProtectionMode .ENABLED_STANDBY -> EngineSession .BounceTrackingProtectionMode .ENABLED_STANDBY .mode
50+ BounceTrackingProtectionMode .ENABLED_DRY_RUN -> EngineSession .BounceTrackingProtectionMode .ENABLED_DRY_RUN .mode
51+ }
52+ )
53+
54+ contentBlocking.queryParameterStrippingEnabled(
55+ when (components.contentBlocking.queryParameterStripping) {
56+ QueryParameterStripping .ENABLED -> true
57+ QueryParameterStripping .DISABLED -> false
58+ QueryParameterStripping .PRIVATE_ONLY -> false
59+ }
60+ )
61+
62+ contentBlocking.queryParameterStrippingPrivateBrowsingEnabled(
63+ when (components.contentBlocking.queryParameterStripping) {
64+ QueryParameterStripping .ENABLED -> true
65+ QueryParameterStripping .DISABLED -> false
66+ QueryParameterStripping .PRIVATE_ONLY -> true
67+ }
68+ )
6269
6370 contentBlocking.queryParameterStrippingAllowList(components.contentBlocking.queryParameterStrippingAllowList)
6471 contentBlocking.queryParameterStrippingStripList(components.contentBlocking.queryParameterStrippingStripList)
@@ -82,7 +89,12 @@ object EngineProvider {
8289 return runtime!!
8390 }
8491
85- fun createEngine (context : Context , defaultSettings : DefaultSettings , extensionEvents : BrowserExtensionEvents , stateEvents : GeckoStateEvents ): Engine {
92+ fun createEngine (
93+ context : Context ,
94+ defaultSettings : DefaultSettings ,
95+ extensionEvents : BrowserExtensionEvents ,
96+ stateEvents : GeckoStateEvents
97+ ): Engine {
8698 Logger .debug(" Creating Engine" )
8799 val runtime = getOrCreateRuntime(context)
88100
@@ -93,6 +105,19 @@ object EngineProvider {
93105 ContainerProxyFeature .install(it, stateEvents)
94106 BrowserExtensionFeature .install(it, extensionEvents)
95107 MLEngineFeature .install(it)
108+
109+ // Install extensions early
110+ BuiltInWebExtensionController (
111+ 112+ " resource://android/assets/extensions/readability_extract/" ,
113+ " mozacReaderExtract" ,
114+ ).install(it)
115+
116+ BuiltInWebExtensionController (
117+ 118+ " resource://android/assets/extensions/readerview/" ,
119+ " mozacReaderview" ,
120+ ).install(it)
96121 }
97122 }
98123
0 commit comments