Commit Graph

103 Commits (a7e74e308b70ecb6f3847f3b46585dc54fd79279)

Author SHA1 Message Date
Tiger Oakes a7e74e308b
Migrate some SessionManager usage to BrowserStore (#10789) 4 years ago
sraturi 372bb421cc created kotlin doc for FenixApplication 4 years ago
ekager 70755adf6e For #10036 - Workaround for System Theme changes with config change 4 years ago
Michael Comella f3ed207bdb For #8803 - review: Add clarifying comments to onAppInit capture methods. 4 years ago
Michael Comella f49fc6dad2 For #8803: hook up frameworkStart metric. 4 years ago
Christian Sadilek 7f1ef17d8b No issue: Re-use existing usecases for addons 4 years ago
Grisha Kruglov 6c38b77315 Part 6: Kick-off account manager initialization after visual completeness
In order to hide the time it takes for the account manager to be initialized
(which always involves disk IO, and often network IO), let's kick it off
after "visual completeness".
This makes sure that for most users, by the time they interact with the account
manager-related functionality (e.g. in Settings), it's ready to go.

Also, for signed-in users, this will establish background sync workers.
4 years ago
Grisha Kruglov be1fa8df7d Pre: introduce a RunWhenReadyQueue
This replaces the StartupTaskManager we had with a more general class.
New implementation is a thread-safe "gated task executor", which either
runs the task right away if it's marked as 'ready', or queries it to be
executed later on.

This ability to either execute or queue a task will be useful later on in the
commit series.
4 years ago
Grisha Kruglov 9e324fa02a Perform storage warm-up after visual completeness 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
Jonathan Almeida 3d387e2dde Add nightly-only feature flag for WebPush integration 4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
Jonathan Almeida ef42becbf9 For #9059: Add WebPush engine integration 4 years ago
Sebastian 89a260ecd9 Use new MemoryConsumer.onTrimMemory() API. 4 years ago
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 4 years ago
Arturo Mejia 4cf34b47ee
Show a notification when add-on update requires new permissions 4 years ago
Arturo Mejia 30f351910a
Make sure all installed extensions are registered for updates 4 years ago
Will Hawkins f9b716286a For #8034: Create a post-visual completeness executor
Create an object that will execute its enqued tasks
when Fenix is visually complete.
4 years ago
Arturo Mejia cfa6f0cc7a No issue: Submit exceptions while updating add-ons to the crashReporter 4 years ago
Grisha Kruglov fddf77280c Remove direct A-S dependency; switch to using 'full' megazord
As far as I can tell, we never actually exercise the a-s libraries in Fenix tests currently (this was one of the presumed reasons for having a direct dependency).
In a different branch I've started work on adding end-to-end tests, but currently that's blocked on trying to figure out to load native libraries in tests (somehow, fenix's setup is different than what we have in A-C, not yet clear to me in what way).

Another reason for a direct dependency (i think) is that we needed it to configure a `fenix` megazord. This could be solved via a `support-megazord-fenix` a-c component that provides the correct transient dependencies,
but we can also just switch to use the `full` megazord instead, which is essentially what fenix megazord is at this point. A-S team wants to remove the fenix megazord, so this will help. This is what this patch does.
4 years ago
Arturo Mejia 959e438ff3
Initializes GlobalAddonDependencyProvider 4 years ago
Jeff Boek cbad832b19 For #8153 - Allow web-extensions to open tabs in correct browsing mode 4 years ago
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 4 years ago
Emma Malysz 15ff4726a0 For #8056: remove Experiments.initialize from FenixApplication
Experiments will not be used before GA and are thus being removed
for performance wins.
4 years ago
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 4 years ago
Jeff Boek 952c48c8ce For #4674 - Adds ability to toggle metric services by type 4 years ago
Michael Comella a896b47cfe For #7820: warm BrowsersCache on background thread.
In an early iteration of his patch on a beta build, I saw no improvement over
6 runs (Pixel 2):
- Before: 401.5ms
- After: 402.17ms

This may be attributed to noise in startup performance. However,
BrowsersCache disappears from profiles completely and results in
theoretical performance gains.

When using the StartupTimeline class (not landed yet), I see a 27.75ms
runtime improvement on beta builds after this patch.
4 years ago
Gabriel Luong 64a4a7f422
Provide add-on support (#8064)
Closes #5630, #6069, #6092, #6091, #6124, and #6147.

Co-authored-by: Simon Chae <chaesmn@gmail.com>
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
4 years ago
Sebastian Kaspari 18244cef51 Closes #7762: Initialize Glean later in Fennec builds. 4 years ago
Sebastian Kaspari 9a15103a20 Issue #7762: Enable glean based on setting for non-fennec builds. 4 years ago
Sawyer Blatz 509fa112d0 For #6308: Remove unecessary telemetry & bump expiry date (#7793)
* For #6308: Remove unecessary telemetry

* For #6308: Bump expiry date on telemetry
4 years ago
Sebastian Kaspari 29d9ba472c Always initialize glean. Set upload flag after migration. (#7717) 4 years ago
Colin Lee 7baf54f566
For #5182: Loading experiments on startup is slow, remove Fretboard (#7510)
This removes Fretboard. The goal is to reduce cold startup costs associated with loading the experiments on the main thread. We currently have two experiments frameworks in use and should only require one.
4 years ago
ekager cf05840c0f Move experiments initialization and fix ktlint errors 4 years ago
Mihai Branescu ea2411a88b Feature/#220 language menu (#7070)
* For #220
- Added advanced header + locale settings item in the settings fragment

* For #220
- Added locale selection page with lib state + handling of locale changes

* For #220
- Removed registering for locale changes in the manifest, allow system
to restart activity in that scenario

* For #220
- Added unit tests for locale settings page

* For #220: fixed an outdated unit test
ga-a

Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
4 years ago
Severin Rudie 9cbc3f7a4a
7410 remove rxjava (#7426)
* For #7410: rewrite updateBookmarkFromObservableInput with coroutines

* For 7410: remove RxJava from project. :(

* For 7410: converted updateBookmarkFromTextChanges to Flow per review
4 years ago
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.
4 years ago
Grisha Kruglov 52334f9121 Closes #6937: Disable runStorageMaintenance during startup
This call will acquire a "write" lock at the storage layer (sqlite's reserved+),
which may interfere with migrations that run during startup as well (they need to
write to storage, and so also need to acquire a lock). If these operations clash,
we get a SQLITE_BUSY crash. For now, just disable the maintenance operation.
5 years ago
Will Hawkins a69253cf22 Issue #5183: Initialize megazord asynchronously
Thanks to the work of the team at application-services, it is possible
to asynchronously initialize the Http client and logger used by megazord
Use that power to hide the time necessary to complete this initialization
within the time that it takes to warmup the gecko runtime.
5 years ago
Sebastian Kaspari 8a330d413c Closes #4982: Migrate Gecko files before initializing engine. (#6738) 5 years ago
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 5 years ago
Sawyer Blatz 284f3cf0f5 For #4456: Updates total_uri_count upload (#6482) 5 years ago
Emily Kager 1ee0703bc3 For #6441 - Only enable experiments for Beta/Prod 5 years ago
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 5 years ago
Emily Kager 6435a503ca For #6219 - Reset default setting if user opts out of experiments 5 years ago
Denys M 6290c0c826 Closes #2441. Update LeakCanary to `2.0-beta-3` version. 5 years ago
Severin Rudie 411ccc8f1f For 4780: add DefaultBrowsingModeManager tests 5 years ago
Severin Rudie 10f334303d For #4780: remove previous fix for leaking private mode status
This didn't function when 'open links in a private tab' was set.  Rather than adding another sketchy fix for the edge case, following commits will change `usePrivateMode` to be maintained in memory, instead of in Settings.
5 years ago
Emily Kager 2b19b28d25 For #5651 - Set up Standard vs Strict Tracking Protection Experiment 5 years ago
Sawyer Blatz 841b06b02f
No issue: fixes master (#5777) 5 years ago