Backed out changeset 501dc3134ae1 (bug1831649) Backed out changeset 21235ab42839 (bug1831649) Backed out changeset 279fdf36aac1 (bug1831649) Backed out changeset 17fb50534fae (bug1831649) Backed out changeset b2718b2f730d (bug1831649) Backed out changeset a05aa1c75ece (bug1831649) Backed out changeset becfb23cd6b4 (bug1831649) Backed out changeset 2d0e7e662530 (bug1831649) Backed out changeset 22538f7bdc88 (bug1831649) Backed out changeset 4ddecb37950f (bug1831649) Backed out changeset 1e6ed8b78e8f (bug1831649) Backed out changeset 6e96a1a01c24 (bug1831649)
Android Components > Browser > Engine-System
Engine implementation based on the system's WebView.
Usage
See concept-engine for a documentation of the abstract engine API this component implements.
Setting up the dependency
Use Gradle to download the library from maven.mozilla.org (Setup repository):
implementation "org.mozilla.components:browser-engine-system:{latest-version}"
Initializing
It is recommended t create only one SystemEngine instance per app.
// Create default settings (optional) and enable tracking protection for all future sessions.
val defaultSettings = DefaultSettings().apply {
trackingProtectionPolicy = EngineSession.TrackingProtectionPolicy.all()
}
// Create an engine instance to be used by other components.
val engine = SystemEngine(context, defaultSettings)
Integration
Usually it is not needed to interact with the Engine component directly. The browser-session component will take care of making the state accessible and link a Session to an EngineSession internally. The feature-session component will provide "use cases" to perform actions like loading URLs and takes care of rendering the selected Session on an EngineView.
View
SystemEngineView is the Gecko-based implementation of EngineView in order to render web content.
<mozilla.components.browser.engine.system.SystemEngineView
android:id="@+id/engineView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
SystemEngineView can render any SystemEngineSession using the render() method.
val engineSession = engine.createSession()
val engineView = view.findViewById<SystemEngineView>(R.id.engineView)
engineView.render(engineSession)
License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/