forked from mirrors/gecko-dev
* 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...
1.1 KiB
1.1 KiB
Android Components > Browser > State
The browser-state component is responsible for maintaining the centralized state of a browser engine.
The immutable BrowserState can be accessed and observed via the BrowserStore. Apps and other components can dispatch Actions on the store in order to trigger the creation of a new BrowserState.
Patterns and concepts this component uses are heavily inspired by Redux. Therefore the Redux documentation is an excellent resource for learning about some of those concepts.
Usage
Setting up the dependency
Use Gradle to download the library from maven.mozilla.org (Setup repository):
implementation "org.mozilla.components:browser-state:{latest-version}
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/