зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1706383: Set process priority manager grace periods for GeckoView Nightly; r=geckoview-reviewers,agi
Because of the way the process priority manager works, a tab switch may alter priorities like so: 1. User switches from `tab1` to `tab2`; 2. We drop `tab1`'s content process priority; 3. We raise `tab2`'s content process priority; But if `tab1` and `tab2` live in the same content process, then not only is the priority adjustment redundant, it gives Android an opportunity to kill the content process between steps (2) and (3)! By setting a brief grace period, the priority manager will wait a bit until dropping priority of `tab1`: 1. User switches from `tab1` to `tab2`; 2. We start the grace period for dropping `tab1`'s priority; 3. We go to raise `tab2`'s priority, but since the content process is already foreground, this becomes a no-op; 4. Grace period expires for `tab1`, but we see that `tab2` is still using our content process, so the "drop" becomes a no-op. Nightly only for now, we'll see how this affects tab kills. Differential Revision: https://phabricator.services.mozilla.com/D114507
This commit is contained in:
Родитель
016a4d3635
Коммит
a50e0c2e71
|
@ -2305,12 +2305,20 @@
|
|||
|
||||
- name: dom.ipc.processPriorityManager.backgroundPerceivableGracePeriodMS
|
||||
type: uint32_t
|
||||
#if defined(MOZ_WIDGET_ANDROID) && defined(NIGHTLY_BUILD)
|
||||
value: 3000
|
||||
#else
|
||||
value: 0
|
||||
#endif
|
||||
mirror: always
|
||||
|
||||
- name: dom.ipc.processPriorityManager.backgroundGracePeriodMS
|
||||
type: uint32_t
|
||||
#if defined(MOZ_WIDGET_ANDROID) && defined(NIGHTLY_BUILD)
|
||||
value: 3000
|
||||
#else
|
||||
value: 0
|
||||
#endif
|
||||
mirror: always
|
||||
|
||||
# Is support for HTMLElement.autocapitalize enabled?
|
||||
|
|
Загрузка…
Ссылка в новой задаче