Commit Graph

2010 Commits (a356b4b2c4feb052ed9ffae4fbb5d7917c882159)

Author SHA1 Message Date
Sawyer Blatz a356b4b2c4
For #9136: Send all adjust properties to glean (#9253) 4 years ago
Sawyer Blatz b9059c8208
For #9256: Attempts to fix installation ping not being sent (#9254) 4 years ago
Grisha Kruglov e541e10427 Initialize storage after visual completeness
In order to eat the perceived performance costs, we initialize storage
once we're visually complete. This way, we're reducing chances of user performing
a UI action which will trigger storage init and delay said action.
4 years ago
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).
4 years ago
mcarare 756b1fbadd For #9140: Remove drawable from title in empty state panes 4 years ago
Arturo Mejia 823eea44ed No issue: Add serverConfig param to FxaWebChannelFeature 4 years ago
Arturo Mejia e977486809 Remove @UseExperimental for usages of the flow api 4 years ago
mcarare 4425e7139e For #9200: Remove star icon from empty state icon in toolbar 4 years ago
mcarare 772c7062fd For #8814: Change icon asset for top sites menu option 4 years ago
Jonathan Almeida ffd4cdd970 For #7661: Add variant-specific schemas for deep links
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.

The current schema for variants:
 - Fenix Nightly: `fenix-nightly://`
 - Fenix Beta: `fenix-beta://`
 - Everything else: `fenix://`
4 years ago
Sawyer Blatz b4e1360f59
For #3086: Adds settings animations (#9187) 4 years ago
Christian Sadilek 0d974fe262 For #8808 #9139: Add-on should be able to configure how to open options page 4 years ago
Edouard Oger a1ea94fe76 Prepare for a-c a-s upgrade 4 years ago
Sebastian Kaspari 34144fd254 Use pinned Android Components Nightly version instead of snapshots. 4 years ago
Christian Sadilek 63517a52e4 No issue: Remove unneeded logic to adjust TP 4 years ago
Jonathan Almeida 3d387e2dde Add nightly-only feature flag for WebPush integration 4 years ago
codrut.topliceanu 030bd38631 For #8561 - Scroll to topSites on app cold start 4 years ago
Sawyer Blatz cc8f34b68b
For #8773: Fixes issue with snackbar placement on ContextMenu (#8942) 4 years ago
Roger Yang 9a582a6983
Closes #9104: Pass release channel information to Socorro service (#9130) 4 years ago
Jeff Boek c862ca93ba No issue - Fixes shadow on top layout 4 years ago
Jeff Boek 74ce62b5c3 For #8949 - Removes old motionlayout code, fixes how shadow is drawn 4 years ago
David Walsh fc67747409 Show the collections header when there are no collections 4 years ago
ekager 31cc7d9166 For #8897 - Don't remove all external sessions on back press 4 years ago
Michael Comella 5bd0369aed No issue: remove unused HotStartPerformanceMonitor.
This monitor for hot start was intended to be used by FNPRMS to measure
hot start. However, hot start was deprioritized so it's now essentially
unused.
4 years ago
Mihai Branescu 485efacd33 For #8800 - dismiss all highlights when menu is closed 4 years ago
Severin Rudie 1381444a52 For #8800: clear menu highlights on use 4 years ago
mcarare 2ffbecaefa For #8474 Reorganize browser menu items 4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
ekager 709bf6f627 For #7087 - Add SearchView to Logins Fragment 4 years ago
ekager feb6215fae For #8296 - Adds user account avatar to Account Preference 4 years ago
Jonathan Almeida ef42becbf9 For #9059: Add WebPush engine integration 4 years ago
ekager 667ebe3142 For #8967 - Remove ability to pref login autofilling by itself 4 years ago
mcarare 320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 4 years ago
Emily Kager 93cb3c2053
For #8423 - Adds delete login confirmation dialog (#9014) 4 years ago
mcarare 16e2f20471 For #8975: Separate title from url with line break when sharing links 4 years ago
Sawyer Blatz 28f58eb025
For #7158: Improves home to search animation (#9008) 4 years ago
Christian Sadilek 84afb5d156 Issue #8291: Speculatively create content process in search fragment 4 years ago
Sawyer Blatz 3548e58c00
For #7158: Improves browser to search animation (#8961) 4 years ago
Sebastian 89a260ecd9 Use new MemoryConsumer.onTrimMemory() API. 4 years ago
Jim Porter ec98fd948b For #7847: Improve startup performance of the Fenix wrapper around Glean 4 years ago
Sebastian 7b170c4428 Update IntentProcessor implementation to comply with new interface. 4 years ago
Josh Vocal c15469595d For #7554: Add App Services Version to About Page 4 years ago
Gabriel Luong c1a7bddcd3
For #8593 - Style the add-ons permission dialog to match the Fenix theme 4 years ago
Jonathan Almeida 0d48b65a25 For #8950: Unregister observers in the main scope coroutine 4 years ago
mcarare f9e85e78af For #6607 Update button theming in no tab pane 4 years ago
mcarare cfe4f11864 For #6607 Update button theming in no tab pane 4 years ago
Sawyer Blatz edd1f013ba For #5308: Show search shortcuts for search term queries 4 years ago
Jonathan Almeida 4ccda4d495 Log push crashes to CrashReporter 4 years ago
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 4 years ago
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.
4 years ago