mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
063f9001b0
With Fission, there can be multiple BrowserParents in a single tab, so this patch moves the tracking of active tabs onto the top BrowsingContext in a tab. If the priority of a top BC is changed, then the activity of all of the BPs of the BCs in the tree are all adjusted. The flag that tracks this state gets carried forward to the new BC in the case of a cross-group navigation by the changes in ReplacedBy(). The other change here covers the case where we do a process-switching navigation on an iframe. If we create a new BrowserParent with an active top BC, then the BP gets marked as active in the priority manager. Doing this tracking on the BP instead of the BC (both here in and in the part that landed previously in BrowserParent::Deactivated()) means that we don't need to track down every place that a BC switches processes. I left the tracking of activity in ParticularProcessPriorityManager centered around BrowserParents, instead of changing it to BCs, to minimize the changes required. There are some tricky interactions there with wakelocks that I didn't want to have to figure out. browser_ProcessPriorityManager.js was set up to track a mapping of browsers to priorities, but for the purposes of testing Fission support I changed it to track a mapping of child IDs to priorities. In the test, I also removed an assignment (this.window = null) that didn't seem to be doing anything. Differential Revision: https://phabricator.services.mozilla.com/D112213 |
||
---|---|---|
.. | ||
JSProcessActor | ||
JSWindowActor | ||
.eslintrc.js | ||
blob_verify.sjs | ||
browser_bug1646088.js | ||
browser_bug1686194.js | ||
browser_cancel_content_js.js | ||
browser_crash_oopiframe.js | ||
browser_CrashService_crash.js | ||
browser_domainPolicy.js | ||
browser_memory_distribution_telemetry.js | ||
browser_ProcessPriorityManager.js | ||
browser.ini | ||
chrome.ini | ||
file_broadcast_currenturi_onload.html | ||
file_cancel_content_js.html | ||
file_cross_frame.html | ||
file_disableScript.html | ||
file_domainPolicy_base.html | ||
file_dummy.html | ||
mochitest.ini | ||
process_error.xhtml | ||
test_bcg_processes.html | ||
test_blob_sliced_from_child_process.js | ||
test_blob_sliced_from_parent_process.js | ||
test_browsingcontext_currenturi.html | ||
test_bug1086684.js | ||
test_child_docshell.js | ||
test_Preallocated.html | ||
test_process_error_oom.xhtml | ||
test_process_error.xhtml | ||
test_sharedMap.js | ||
test_temporaryfile_stream.html | ||
test_window_open_discarded_bc.html | ||
xpcshell.ini |