1
0
Fork 0
Commit Graph

24 Commits (69a9aeebae193107ba122bf60e5b60386666d85b)

Author SHA1 Message Date
Michael Comella 27c8a77c3f For #4132: remove BrowserPerformanceTestActivity & usages. 2020-08-05 10:15:46 -07:00
Jonathan Almeida c143f95819 Issue #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>
2020-07-22 16:28:18 -04:00
Tiger Oakes c08d375c18
Move settings in components (#12675) 2020-07-21 10:47:10 -07:00
ekager f863c341e8 Updates AC to 49.0.20200702190156 and fixes breaking changes 2020-07-03 06:40:06 -04:00
ekager 8533d96ee2 For #11320 - Expose login autofill setting to beta dimension 2020-07-03 06:40:06 -04:00
Michael Comella b0b2f87ab4 For #10757: remove no-op Experiments code and dependency.
We were supposed to have removed Experiments for performance purposes.
However, I find some code dangling in the tree.

Experiments.initialize is no longer called so I suspect
Experiments.withExperiment is a no-op. I verified that the lambda
function provided to it never ran in my local geckoBetaDebug on startup.
Assuming experiments behavior doesn't change in other build types, this
change appears safe.
2020-05-18 15:38:38 -07:00
Grisha Kruglov eb14532c3c Closes #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).
2020-03-19 15:46:50 -07:00
ekager d5f4444447 No issue: Remove useContentProcessHint from GV beta GeckoProvider 2020-03-10 22:33:11 -07:00
ekager 667ebe3142 For #8967 - Remove ability to pref login autofilling by itself 2020-03-09 13:19:47 -07:00
Grisha Kruglov e6e2dd94c7 Closes #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.
2020-03-03 16:58:58 +01:00
ekager 1944399f0e For #7796 - Add Gecko Beta GeckoProvider LoginStorageDelegate 2020-02-18 16:31:22 -08:00
Emily Kager a39a9e5b4e No issue: Enable about:config in beta builds 2020-01-22 16:34:51 -08:00
ekager 0777fb3bbe For #5545 For #5542 Closes #6696 Integrate logins API, adds Settings for Autofilling/Saving Logins 2020-01-15 12:14:08 -08:00
ekager cf05840c0f Move experiments initialization and fix ktlint errors 2020-01-10 13:57:12 -08:00
Kris Taeleman 43e8e3aab4 Bug 1605454 - Fixing typo 2020-01-10 13:57:12 -08:00
Kris Taeleman 16005c75ef Bug 1605454 - Kotlin linting improvement 2020-01-10 13:57:12 -08:00
Kris Taeleman de5d44edd8 Bug 1605454 - Change experiment name and take branch into account 2020-01-10 13:57:12 -08:00
Kris Taeleman 2c4790de66 Bug 1605454 - Adding experiment code for disabling webrender. 2020-01-10 13:57:12 -08:00
Michael Comella cf143489e1 For #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.
2019-12-30 10:31:33 -08:00
Emily Kager eb26d951ab
For #4763 - Enable GV logging in debug builds (#5144) 2019-09-09 11:20:51 -07:00
Alessio Placitelli dcbe5be121 Enable Gecko metrics exfiltration through Glean (#5126) 2019-09-05 11:58:35 -05:00
Alessio Placitelli 0f6f28b6da Revert "Enable Gecko metrics exfiltration through Glean (#5124)" (#5125)
This reverts commit f824c98c20.
2019-09-05 04:26:46 -05:00
Alessio Placitelli f824c98c20 Enable Gecko metrics exfiltration through Glean (#5124) 2019-09-05 04:17:28 -05:00
Sebastian Kaspari 9b633f7f0f 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.
2019-08-30 15:16:12 +02:00