1
0
Fork 0
Commit Graph

96 Commits (be1fa8df7d5cd95270c7486987badf4438e071c7)

Author SHA1 Message Date
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.
2020-03-30 21:43:38 -07:00
Grisha Kruglov 9e324fa02a Perform storage warm-up after visual completeness 2020-03-26 14:12:35 -07:00
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.
2020-03-19 15:46:50 -07:00
Jonathan Almeida 3d387e2dde Add nightly-only feature flag for WebPush integration 2020-03-12 18:39:32 -07:00
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
2020-03-11 11:24:01 -04:00
Jonathan Almeida ef42becbf9 For #9059: Add WebPush engine integration 2020-03-09 16:50:29 -04:00
Sebastian 89a260ecd9 Use new MemoryConsumer.onTrimMemory() API. 2020-03-05 20:02:22 +01:00
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 2020-03-03 11:38:58 -05:00
Arturo Mejia 4cf34b47ee
Show a notification when add-on update requires new permissions 2020-03-02 13:46:37 -05:00
Arturo Mejia 30f351910a
Make sure all installed extensions are registered for updates 2020-02-28 15:37:08 -05:00
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.
2020-02-28 09:15:06 -08:00
Arturo Mejia cfa6f0cc7a No issue: Submit exceptions while updating add-ons to the crashReporter 2020-02-27 17:44:23 +01:00
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.
2020-02-25 17:30:57 -08:00
Arturo Mejia 959e438ff3
Initializes GlobalAddonDependencyProvider 2020-02-25 12:31:05 -05:00
Jeff Boek cbad832b19 For #8153 - Allow web-extensions to open tabs in correct browsing mode 2020-02-24 00:24:07 -08:00
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 2020-02-24 00:24:07 -08:00
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.
2020-02-18 08:22:03 -08:00
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 2020-02-12 13:41:16 -08:00
Jeff Boek 952c48c8ce For #4674 - Adds ability to toggle metric services by type 2020-02-10 12:33:53 +02:00
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.
2020-02-07 09:13:29 -08:00
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>
2020-02-04 01:41:51 -05:00
Sebastian Kaspari 18244cef51 Closes #7762: Initialize Glean later in Fennec builds. 2020-01-26 11:53:26 +01:00
Sebastian Kaspari 9a15103a20 Issue #7762: Enable glean based on setting for non-fennec builds. 2020-01-23 16:32:15 +01:00
Sawyer Blatz 509fa112d0 For #6308: Remove unecessary telemetry & bump expiry date (#7793)
* For #6308: Remove unecessary telemetry

* For #6308: Bump expiry date on telemetry
2020-01-17 15:13:20 -08:00
Sebastian Kaspari 29d9ba472c Always initialize glean. Set upload flag after migration. (#7717) 2020-01-15 15:31:51 -08:00
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.
2020-01-13 12:38:32 -06:00
ekager cf05840c0f Move experiments initialization and fix ktlint errors 2020-01-10 13:57:12 -08:00
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>
2020-01-03 18:15:35 -08:00
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
2020-01-03 14:37: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
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.
2019-12-17 14:24:30 -08:00
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.
2019-11-27 10:51:57 -08:00
Sebastian Kaspari 8a330d413c Closes #4982: Migrate Gecko files before initializing engine. (#6738) 2019-11-22 08:18:50 -05:00
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 2019-11-08 08:37:15 -08:00
Sawyer Blatz 284f3cf0f5 For #4456: Updates total_uri_count upload (#6482) 2019-11-06 19:10:56 -08:00
Emily Kager 1ee0703bc3 For #6441 - Only enable experiments for Beta/Prod 2019-11-04 16:45:35 -08:00
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 2019-10-30 11:02:33 -07:00
Emily Kager 6435a503ca For #6219 - Reset default setting if user opts out of experiments 2019-10-25 12:50:16 -07:00
Denys M 6290c0c826 Closes #2441. Update LeakCanary to `2.0-beta-3` version. 2019-10-24 11:19:09 -07:00
Severin Rudie 411ccc8f1f For 4780: add DefaultBrowsingModeManager tests 2019-10-08 15:13:17 -07:00
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.
2019-10-08 15:13:17 -07:00
Emily Kager 2b19b28d25 For #5651 - Set up Standard vs Strict Tracking Protection Experiment 2019-10-05 10:14:09 -07:00
Sawyer Blatz 841b06b02f
No issue: fixes master (#5777) 2019-10-03 14:42:56 -07:00
Severin Rudie 3be06953d6 For #4780 switch off private mode (#5614)
* Do not launch in Private Mode

When the app launches do not launch in Private Mode in order to prevent usage leaks to other users of the device.

* Issue #4780: add comments to use private mode

* For #4780: write tests for clear private mode on create app

* For #4780: clear private mode when privacy notification is removed
2019-10-03 10:23:13 -07:00
Tiger Oakes ee1f040e53 No issue: Move signedIn tracking to BookmarksSharedViewModel (#4755) 2019-09-27 08:57:38 -07:00
Sawyer Blatz 856399e9e2
No issue: Fixes GleanMetricsService nits & broken UI test (#5539)
* No issue: Fixes GleanMetricsService nits

* No issue: fixes broken UI test
2019-09-24 16:12:09 -07:00
Emily Kager 25e2a7abfc For #2765 - Run places maintenance daily (#5466) 2019-09-24 10:50:11 -07:00
Tiger Oakes 8c30200ced Only use Context.settings() function (not getter) (#5335)
Remove unused String extensions
2019-09-24 10:33:46 -07:00
Tiger Oakes 284cbab9ea Use .orEmpty() 2019-09-17 11:09:21 -07:00
Grisha Kruglov 8a9340fd9d Post: Clean up 'push' initialization code 2019-09-16 19:44:13 -07:00