Skip to content

Commit f8293d2

Browse files
committed
install extensions early
1 parent 577712b commit f8293d2

File tree

1 file changed

+44
-19
lines changed
  • packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components

1 file changed

+44
-19
lines changed

packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/EngineProvider.kt

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import mozilla.components.concept.fetch.Client
2323
import mozilla.components.feature.webcompat.WebCompatFeature
2424
import mozilla.components.support.base.log.Log
2525
import mozilla.components.support.base.log.logger.Logger
26+
import mozilla.components.support.webextensions.BuiltInWebExtensionController
2627
import org.mozilla.geckoview.ContentBlocking
2728
import org.mozilla.geckoview.GeckoRuntime
2829
import 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

Comments
 (0)