* Issue https://github.com/mozilla-mobile/android-components/issues/10197: Move EngineObserver and EngineMiddleware to browser-state and refactor SessionManager dependency away. * Issue https://github.com/mozilla-mobile/android-components/issues/3532: Migrate TabsUseCases to use BrowserStore exclusively. * Issue https://github.com/mozilla-mobile/android-components/issues/10209: Migrate SessionUseCases to use BrowserStore exclusively. * Issue https://github.com/mozilla-mobile/android-components/issues/3532, https://github.com/mozilla-mobile/android-components/issues/10209: Migrate components to use new UseCase APIs. * Issue https://github.com/mozilla-mobile/android-components/issues/10209: Migrate UndoMiddleware to use BrowserStore. * Issue https://github.com/mozilla-mobile/android-components/issues/3532: Migrate CustomTabsUseCases to use BrowserStore. * Issue https://github.com/mozilla-mobile/android-components/issues/10211: Migrate sample-browser to not depend on browser-session. * Issue https://github.com/mozilla-mobile/android-components/issues/10209: Remove browser-session dependency. * Issue https://github.com/mozilla-mobile/android-components/issues/3532: feature-tabs: Remove browser-session dependency. * Issue https://github.com/mozilla-mobile/android-components/issues/10209: Fix UndoMiddlewareTest * Issue https://github.com/mozilla-mobile/android-components/issues/10209: Refactor SessionUseCasesTest to not use SessionManager. * Issue https://github.com/mozilla-mobile/android-components/issues/10209: Fix SessionFeatureTest. * Refactor support-migration tests to not use SessionManager. * Fix tests in feature-contextmenu. * Refactor feature-recentlyclosed tests to not use SessionManager * Refactor browser-session-storage tests to not use SessionManager * Refactor feature-intent tests to not use SessionManager * Refactor feature-tabs tests to not use SessionManager pt. 1 * Refactor feature-customtabs tests to not depend on browser-session. * Make sure initial load url flags are correct * Refactor feature-tabs tests to not use SessionManager pt. 2 * Refactor browser-state tests to not depend on browser-session. * SearchUseCasesTest: Use addTab use case instead of addPrivateTab. * Samples Browser: Remove unused drawable. * Fix feature-pwa tests * Remove browser-session. * Make sure engine session is linked for window requests * Make sure engine session is linked when provided with tab * Make sure engine session is linked when provided with tab pt. 2 * Prevent engine session from being created multiple times * Prevent engine session from being created multiple times pt. 2 * Prevent engine session from being created multiple times pt. 3 * Part 4: REFACTOR ALL THE THINGS * Update tests. * Add additional test for multiple CreateEngineSessionAction dispatching. * Refactor, some docs and tests * Fix CustomTabs tests...
Android Components > Browser > Engine-Gecko
Engine implementation based on GeckoView.
Usage
Setting up the dependency
Use Gradle to download the library from maven.mozilla.org (Setup repository):
implementation "org.mozilla.components:browser-engine-gecko:{latest-version}"
Integration with the Glean SDK
Before using this component
Products sending telemetry and using this component must request a data-review following this process.
The Glean SDK can be used to collect Gecko Telemetry. Applications using both this component and the Glean SDK should setup the Gecko Telemetry delegate as shown below:
val builder = GeckoRuntimeSettings.Builder()
val runtimeSettings = builder
.telemetryDelegate(GeckoGleanAdapter()) // Sets up the delegate!
.build()
// Create the Gecko runtime.
GeckoRuntime.create(context, runtimeSettings)
Adding new metrics
New Gecko metrics can be added as described in the Firefox Telemetry docs.
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/