Commit Graph

20 Commits (c553c0d2232747331c1507bfd16be68b77678d85)

Author SHA1 Message Date
rxu 3ec2a3d971 [fenix] Add mozcn safebrowsing 4 years ago
ekager 29a179e8c3 [fenix] For https://github.com/mozilla-mobile/fenix/issues/15910 - Adds back automatic toggle, disables slider when enabled (https://github.com/mozilla-mobile/fenix/pull/16070) 4 years ago
ekager bf2e2d545d [fenix] For https://github.com/mozilla-mobile/fenix/issues/14923 - Removes auto size preference toggle 4 years ago
Michael Comella d11908ce34 [fenix] For https://github.com/mozilla-mobile/fenix/issues/4132: remove BrowserPerformanceTestActivity & usages. 4 years ago
Jonathan Almeida bb3e5bfbf9 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/11333: Set ContentBlocking settings directly on GeckoRuntime
We set the ContentBlockingSettings directly on the GeckoRuntime now to
improve the startup of the engine.

This change has requirements from Android Components and GeckoView, so
we would only see the full perf benefits in Nightly as the changes ride
the train, although we might start to see some of them as we're updating
the GeckoProvider for the `geckoBeta` variant as well.

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
4 years ago
Tiger Oakes adbadba250 [fenix] Move settings in components (https://github.com/mozilla-mobile/fenix/pull/12675) 4 years ago
ekager e4dcad8f00 [fenix] Updates AC to 49.0.20200702190156 and fixes breaking changes 4 years ago
ekager 91fd4f4f58 [fenix] For https://github.com/mozilla-mobile/fenix/issues/8967 - Expose autofill logins setting in nightly 4 years ago
Grisha Kruglov 51a31a42ba [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/7450: Lazy storage initialization
Make sure that we actually lazily initialize our storage layers.

With this patch applied, storage layers (history, logins, bookmarks) will be initialized when first
accessed. We will no longer block GeckoEngine init, for example, on waiting for the logins storage
to initialize (which needs to access the costly securePrefStorage).
Similarly, BackgroundServices init will no longer require initialized instances of the storage
components - references to their "lazy wrappers" will suffice.

In practice, this change changes when our storage layers are initialized in the following ways.
Currently, we will initialize everything on startup. This includes loading our megazord, as well.

With this change, init path depends on if the user is signed-into FxA or not.

If user is not an FxA user:
- on startup, none of the storage layers are initialized
- history storage will be initialized once, whenever:
  - first non-customTab page is loaded (access to the HistoryDelegate)
  - first interaction with the awesomebar
  - history UI is accessed
- bookmarks storage will be initialized once, whenever:
  - something is bookmarked, or we need to figure out if something's bookmarked
  - bookmarks UI is accessed
- logins storage will be initialized once, whenever:
  - first page is loaded with a login/password fields that can be autofilled
  - (or some other interaction by GV with the autofill/loginStorage delegates)
  - logins UI is accessed
- all of these storages will be initialized if the user logs into FxA and starts syncing data
  - except, if a storage is not chosen to be synced, it will not be initialized

If user is an FxA user:
- on startup, none of the storage layers are initialized
- sometime shortly after startup is complete, when a sync worker runs in the background, all storage
layers that are enabled to sync will be initialized.

This change also means that we delay loading the megazord until first access (as described above).
5 years ago
ekager 63f1556fbf [fenix] For https://github.com/mozilla-mobile/fenix/issues/8967 - Remove ability to pref login autofilling by itself 5 years ago
Grisha Kruglov f07442ba4e [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/7344: Login storage refactor
The a-c side of this work is in https://github.com/mozilla-mobile/android-components/pull/6128

This switches Fenix to use `SyncableLoginsStorage`, which caches a connection internally
on first access, and doesn't expose any lock/unlock APIs at the public boundary.
5 years ago
Emily Kager 6ac485f730 [fenix] For https://github.com/mozilla-mobile/fenix/issues/8470 - Fix Unit Tests MockKExceptions (https://github.com/mozilla-mobile/fenix/pull/8471) 5 years ago
ekager e7ed901f20 [fenix] For https://github.com/mozilla-mobile/fenix/issues/5545 For https://github.com/mozilla-mobile/fenix/issues/5542 Closes https://github.com/mozilla-mobile/fenix/issues/6696 Integrate logins API, adds Settings for Autofilling/Saving Logins 5 years ago
Michael Comella efbff24ba4 [fenix] For https://github.com/mozilla-mobile/fenix/issues/6464: Replace use of BuildConfig.DEBUG with ReleaseChannel.channel.isDebug.
This fixes performance issues where StrictMode would greatly slow down
startup in the forPerformanceTest variants.
5 years ago
Agi Sferro 4d975044c3 [fenix] For https://github.com/mozilla-mobile/fenix/issues/5529: Enable about:config in geckoNightly. 5 years ago
Emily Kager 6103a21747 [fenix] For https://github.com/mozilla-mobile/fenix/issues/4763 - Enable GV logging in debug builds (https://github.com/mozilla-mobile/fenix/pull/5144) 5 years ago
Alessio Placitelli cf76cd9c62 [fenix] Enable Gecko metrics exfiltration through Glean (https://github.com/mozilla-mobile/fenix/pull/5126) 5 years ago
Alessio Placitelli 0ab76faedb [fenix] Revert "Enable Gecko metrics exfiltration through Glean (https://github.com/mozilla-mobile/fenix/pull/5124)" (https://github.com/mozilla-mobile/fenix/pull/5125)
This reverts commit ed9c9cffa8033784f9ab3c7391c177ab5b66cf1e.
5 years ago
Alessio Placitelli 7d25624e16 [fenix] Enable Gecko metrics exfiltration through Glean (https://github.com/mozilla-mobile/fenix/pull/5124) 5 years ago
Sebastian Kaspari 6ac2509131 [fenix] Move creation of GeckoRuntime to flavor-specific source set.
Since we are now able to build against GeckoView Nightly and GeckoView Beta,
we should create the GeckoRuntime from a flavor-specific source set.

Creating the runtime is not covered by the AC abstraction and so API changes
in GeckoView Nightly can break the build and leaves us with no option to fix
it from a shared code base. Separating the creation of GeckoRuntime
allows us to adapt individually and also to configure the runtimes
differently.
5 years ago