This patch doesn't cover turning the launcher process back on, because that already happens automatically during the PostUpdate process.
Differential Revision: https://phabricator.services.mozilla.com/D120507
We have the pref `browser.tabs.unloadOnLowMemory` to turn on the tab unloading
feature. Since it controlled whether we initialize the memory watcher or not
in `TabUnloader.init()`, changing it required process start.
To conduct A/B testing for this feature, our infrastructure needs to be able
to change the pref in the middle of session. So this change moves the pref
check from `TabUnloader.init()` to `TabUnloader.unloadTabAsync()`. With this,
we fully exercise the memoruy watcher regardless of the pref's value, but invokes
tab unloading only when the pref is on.
Differential Revision: https://phabricator.services.mozilla.com/D120744
This adds the stub API for the page data service and some basic docs. The service can be used from
xpcshell tests and the events respond with sane data. As there are no consumers currently the
in-memory cache never clears.
Differential Revision: https://phabricator.services.mozilla.com/D120498
This adds the stub API for the page data service and some basic docs. The service can be used from
xpcshell tests and the events respond with sane data. As there are no consumers currently the
in-memory cache never clears.
Differential Revision: https://phabricator.services.mozilla.com/D120498
Allow for downstream projects such as Thunderbird to set different GUIDs for
AccessibleHandler to avoid clashes when both applications are installed.
The GUIDs themselves can be defined in confvars.sh or in branding/configure.sh
depending on the specific needs of the application. Fallback GUIDs are in
old-configure.
Differential Revision: https://phabricator.services.mozilla.com/D118124
This adds the stub API for the page data service and some basic docs. The service can be used from
xpcshell tests and the events respond with sane data. As there are no consumers currently the
in-memory cache never clears.
Differential Revision: https://phabricator.services.mozilla.com/D120498
Use the dbstat virtual table to get some more advanced statistics about the database.
This doesn't have positive or negative effects on users, but allows us to get
more detailed info when asking for logs, and to check how MR2 data distributes
in the database.
The existing maintenance tests ensure the new methods don't throw, there's no
specific test checking for the output, since that's free-form logging.
Differential Revision: https://phabricator.services.mozilla.com/D120616
This patch adds two scalars:
* `browser.engagement.tab_unload_count`: Incremented by 1 when TabUnloader
successfully unloaded a tab.
* `browser.engagement.tab_reload_count`: Incremented by 1 when an unloaded
tab was reloaded.
The value of `browser.engagement.tab_reload_count` will be the same as
the count of the histogram `TAB_UNLOAD_TO_RELOAD` data, but we still need
this scalar to compare it to `browser.engagement.tab_unload_count`, which
tells us the ratio of reload-after-unload tabs to all unloaded tabs.
Depends on D120019
Differential Revision: https://phabricator.services.mozilla.com/D120020
The new histogram `TAB_UNLOAD_TO_RELOAD` records how long a tab had been
unloaded until it was reload by a user. With this data, we can evaluate
the selection logic to choose a tab to unload. For example, if many of
unloaded tabs are reloaded within 30 seconds or so, we unload a wrong tab.
Differential Revision: https://phabricator.services.mozilla.com/D120019
This patch also addresses bug 1645293. It essentially reverts parts 1 and 3 of bug 1616700 for users with searching disabled. Since we had to introduce branching behaviour, there are some new constructs like a shouldHandOffToSearchMode multi-pref in UrlbarPrefs.
Differential Revision: https://phabricator.services.mozilla.com/D118606
We need to be displayed when cloning into a same-process frame, so that
the preview code hooks up to the view tree correctly and the frame is
correctly painted.
This works for out-of-process frames, but mostly by chance.
Fortify the printPreview() API code to gracefully handle that case, and
remove the sessionrestore special-case which is not really special.
Differential Revision: https://phabricator.services.mozilla.com/D119980