mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-01 13:57:32 +00:00

This is a fairly significant patch, however it would be difficult to break it down into smaller patches: 1) The various mechanisms used to manage ContentParent lifecycles have been merged together into a common "KeepAlive" system. A process will begin shutdown when its keepalive count reaches 0. (though it will still wait for all BrowserParents to also be dead before sending the actual shutdown message as before). This replaces a number of bespoke systems for tracking BrowserParent instances in different lifecycle states, remote workers, ongoing process switches, and preallocated processes. 2) KeepAlives are now managed automatically by a UniquePtr variant (Unique[Threadsafe]ContentParentKeepAlive). This makes the hand-off over KeepAlive lifecycles explicit, even for workers. 3) All KeepAlives are now keyed by a BrowserId, which will be 0 for keepalives not associated with a specific tab. This allows the new process selection logic to count all tabs other than the one being navigated when deciding which process to use. 4) The process switching logic now tracks it's KeepAlive with a BrowserId, meaning that ongoing process switches are considered when performing process selection, even if the BrowserParent hasn't been created yet. Differential Revision: https://phabricator.services.mozilla.com/D213338
…
…
…
…
…
…
…
…
…
…
An explanation of the Firefox Source Code Directory Structure and links to project pages with documentation can be found at: https://firefox-source-docs.mozilla.org/contributing/directory_structure.html For information on how to build Firefox from the source code and create the patch see: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html If you have a question about developing Firefox, and can't find the solution on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel. Nightly development builds can be downloaded from: https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ - or - https://www.mozilla.org/firefox/channel/desktop/#nightly Keep in mind that nightly builds, which are used by Firefox developers for testing, may be buggy.
Description
Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Languages
JavaScript
32.3%
C++
25.4%
HTML
21.1%
C
10.8%
Python
2.8%
Other
7.1%