install extensions early
This commit is contained in:
+42
-17
@@ -23,6 +23,7 @@ import mozilla.components.concept.fetch.Client
|
|||||||
import mozilla.components.feature.webcompat.WebCompatFeature
|
import mozilla.components.feature.webcompat.WebCompatFeature
|
||||||
import mozilla.components.support.base.log.Log
|
import mozilla.components.support.base.log.Log
|
||||||
import mozilla.components.support.base.log.logger.Logger
|
import mozilla.components.support.base.log.logger.Logger
|
||||||
|
import mozilla.components.support.webextensions.BuiltInWebExtensionController
|
||||||
import org.mozilla.geckoview.ContentBlocking
|
import org.mozilla.geckoview.ContentBlocking
|
||||||
import org.mozilla.geckoview.GeckoRuntime
|
import org.mozilla.geckoview.GeckoRuntime
|
||||||
import org.mozilla.geckoview.GeckoRuntimeSettings
|
import org.mozilla.geckoview.GeckoRuntimeSettings
|
||||||
@@ -41,24 +42,30 @@ object EngineProvider {
|
|||||||
val builder = GeckoRuntimeSettings.Builder()
|
val builder = GeckoRuntimeSettings.Builder()
|
||||||
val contentBlocking = ContentBlocking.Settings.Builder();
|
val contentBlocking = ContentBlocking.Settings.Builder();
|
||||||
|
|
||||||
contentBlocking.bounceTrackingProtectionMode(when(components.contentBlocking.bounceTrackingProtectionMode) {
|
contentBlocking.bounceTrackingProtectionMode(
|
||||||
BounceTrackingProtectionMode.ENABLED -> EngineSession.BounceTrackingProtectionMode.ENABLED.mode
|
when (components.contentBlocking.bounceTrackingProtectionMode) {
|
||||||
BounceTrackingProtectionMode.DISABLED -> EngineSession.BounceTrackingProtectionMode.DISABLED.mode
|
BounceTrackingProtectionMode.ENABLED -> EngineSession.BounceTrackingProtectionMode.ENABLED.mode
|
||||||
BounceTrackingProtectionMode.ENABLED_STANDBY -> EngineSession.BounceTrackingProtectionMode.ENABLED_STANDBY.mode
|
BounceTrackingProtectionMode.DISABLED -> EngineSession.BounceTrackingProtectionMode.DISABLED.mode
|
||||||
BounceTrackingProtectionMode.ENABLED_DRY_RUN -> EngineSession.BounceTrackingProtectionMode.ENABLED_DRY_RUN.mode
|
BounceTrackingProtectionMode.ENABLED_STANDBY -> EngineSession.BounceTrackingProtectionMode.ENABLED_STANDBY.mode
|
||||||
})
|
BounceTrackingProtectionMode.ENABLED_DRY_RUN -> EngineSession.BounceTrackingProtectionMode.ENABLED_DRY_RUN.mode
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
contentBlocking.queryParameterStrippingEnabled(when(components.contentBlocking.queryParameterStripping) {
|
contentBlocking.queryParameterStrippingEnabled(
|
||||||
QueryParameterStripping.ENABLED -> true
|
when (components.contentBlocking.queryParameterStripping) {
|
||||||
QueryParameterStripping.DISABLED -> false
|
QueryParameterStripping.ENABLED -> true
|
||||||
QueryParameterStripping.PRIVATE_ONLY -> false
|
QueryParameterStripping.DISABLED -> false
|
||||||
})
|
QueryParameterStripping.PRIVATE_ONLY -> false
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
contentBlocking.queryParameterStrippingPrivateBrowsingEnabled(when(components.contentBlocking.queryParameterStripping) {
|
contentBlocking.queryParameterStrippingPrivateBrowsingEnabled(
|
||||||
QueryParameterStripping.ENABLED -> true
|
when (components.contentBlocking.queryParameterStripping) {
|
||||||
QueryParameterStripping.DISABLED -> false
|
QueryParameterStripping.ENABLED -> true
|
||||||
QueryParameterStripping.PRIVATE_ONLY -> true
|
QueryParameterStripping.DISABLED -> false
|
||||||
})
|
QueryParameterStripping.PRIVATE_ONLY -> true
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
contentBlocking.queryParameterStrippingAllowList(components.contentBlocking.queryParameterStrippingAllowList)
|
contentBlocking.queryParameterStrippingAllowList(components.contentBlocking.queryParameterStrippingAllowList)
|
||||||
contentBlocking.queryParameterStrippingStripList(components.contentBlocking.queryParameterStrippingStripList)
|
contentBlocking.queryParameterStrippingStripList(components.contentBlocking.queryParameterStrippingStripList)
|
||||||
@@ -82,7 +89,12 @@ object EngineProvider {
|
|||||||
return runtime!!
|
return runtime!!
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createEngine(context: Context, defaultSettings: DefaultSettings, extensionEvents: BrowserExtensionEvents, stateEvents: GeckoStateEvents): Engine {
|
fun createEngine(
|
||||||
|
context: Context,
|
||||||
|
defaultSettings: DefaultSettings,
|
||||||
|
extensionEvents: BrowserExtensionEvents,
|
||||||
|
stateEvents: GeckoStateEvents
|
||||||
|
): Engine {
|
||||||
Logger.debug("Creating Engine")
|
Logger.debug("Creating Engine")
|
||||||
val runtime = getOrCreateRuntime(context)
|
val runtime = getOrCreateRuntime(context)
|
||||||
|
|
||||||
@@ -93,6 +105,19 @@ object EngineProvider {
|
|||||||
ContainerProxyFeature.install(it, stateEvents)
|
ContainerProxyFeature.install(it, stateEvents)
|
||||||
BrowserExtensionFeature.install(it, extensionEvents)
|
BrowserExtensionFeature.install(it, extensionEvents)
|
||||||
MLEngineFeature.install(it)
|
MLEngineFeature.install(it)
|
||||||
|
|
||||||
|
//Install extensions early
|
||||||
|
BuiltInWebExtensionController(
|
||||||
|
"readability-extract@weblibre.eu",
|
||||||
|
"resource://android/assets/extensions/readability_extract/",
|
||||||
|
"mozacReaderExtract",
|
||||||
|
).install(it)
|
||||||
|
|
||||||
|
BuiltInWebExtensionController(
|
||||||
|
"readerview@mozac.org",
|
||||||
|
"resource://android/assets/extensions/readerview/",
|
||||||
|
"mozacReaderview",
|
||||||
|
).install(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user