gecko-dev/dom
Nika Layzell d6e6375a87 Bug 1728331 - Part 4: Make ContentParent KeepAlives explicit with RAII references, r=smaug,dom-worker-reviewers,asuth
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
2024-06-24 23:19:28 +00:00
..
abort Bug 1897400 - prepare TimeoutManager for reuse in workers via nsIGlobalObject, r=smaug 2024-06-24 10:29:16 +00:00
animation
audiochannel
base Bug 1728331 - Part 2: Remove JS process selectors, r=smaug 2024-06-24 23:19:28 +00:00
battery
bindings Bug 1903538 - Add a profiler label frame for CreateGlobal r=aabh,profiler-reviewers 2024-06-24 15:10:13 +00:00
broadcastchannel
cache Bug 697151 - distinguish between SYNC and ASYNC XMLHttpRequests in nsIContentPolicy types, and have ChannelEventQueue::MaybeSuspendIfEventsAreSuppressed only suspend async ones; r=nika,necko-reviewers,peterv,dom-storage-reviewers,asuth,kershaw 2024-06-24 18:45:18 +00:00
canvas Bug 1894231 - P8 Remove ImageBit::SendShutdownToWorkerThread::mWorkerPrivate. r=dom-worker-reviewers,asuth 2024-06-24 22:20:53 +00:00
chrome-webidl Bug 1900410 - Add filename option to ChromeUtils.compileScript r=spidermonkey-reviewers,arai 2024-06-22 00:54:12 +00:00
clients Bug 1904004 - Use OriginAttributes::IsPrivateBrowsing instead of open coding PBM checks. r=timhuang,cookie-reviewers,anti-tracking-reviewers,profiler-reviewers,necko-reviewers,kershaw,dom-storage-reviewers,janv,canaltinova,dom-worker-reviewers,asuth 2024-06-24 11:06:18 +00:00
commandhandler
console Bug 1904004 - Use OriginAttributes::IsPrivateBrowsing instead of open coding PBM checks. r=timhuang,cookie-reviewers,anti-tracking-reviewers,profiler-reviewers,necko-reviewers,kershaw,dom-storage-reviewers,janv,canaltinova,dom-worker-reviewers,asuth 2024-06-24 11:06:18 +00:00
credentialmanagement
crypto
debugger
docs
encoding
events Bug 1904183 - Add profiler label frames to EventStateManager::{Pre,Post}HandleEvent methods r=emilio 2024-06-24 10:22:10 +00:00
fetch Bug 1901851 - Part 2: Remove unnecessary BackgroundParent arguments from response serializations, r=dom-worker-reviewers,asuth 2024-06-24 23:19:26 +00:00
file Bug 1894231 - P9 Remove FileReaderSync ReadCallback::mWorkerPrivate. r=dom-worker-reviewers,asuth 2024-06-24 22:20:53 +00:00
filesystem Bug 1877969 - Consume user activation when showing any picker r=dom-core,edgar,geckoview-reviewers,m_kato 2024-06-24 10:53:24 +00:00
flex
fs
gamepad
geolocation
grid
html Bug 1904004 - Use OriginAttributes::IsPrivateBrowsing instead of open coding PBM checks. r=timhuang,cookie-reviewers,anti-tracking-reviewers,profiler-reviewers,necko-reviewers,kershaw,dom-storage-reviewers,janv,canaltinova,dom-worker-reviewers,asuth 2024-06-24 11:06:18 +00:00
imptests
indexedDB Bug 1904004 - Use OriginAttributes::IsPrivateBrowsing instead of open coding PBM checks. r=timhuang,cookie-reviewers,anti-tracking-reviewers,profiler-reviewers,necko-reviewers,kershaw,dom-storage-reviewers,janv,canaltinova,dom-worker-reviewers,asuth 2024-06-24 11:06:18 +00:00
interfaces Bug 1728331 - Part 2: Remove JS process selectors, r=smaug 2024-06-24 23:19:28 +00:00
ipc Bug 1728331 - Part 4: Make ContentParent KeepAlives explicit with RAII references, r=smaug,dom-worker-reviewers,asuth 2024-06-24 23:19:28 +00:00
jsurl
l10n
locales
localstorage Bug 1888878 - Extract CreatePromise to PromiseUtils.h; r=dom-storage-reviewers,asuth 2024-06-20 11:15:46 +00:00
locks
manifest
mathml
media Bug 1901076 - Part 2. Expose frame count variant of metadata decoders. r=tnikkel 2024-06-24 22:44:30 +00:00
messagechannel
midi Bug 1789718 - Remove from MIDIPermissionRequest error message pointing to obsolete docs related to deprecated siteperm addon type implementation. r=gsvelto 2024-06-21 20:18:04 +00:00
network Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
notification Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
origin-trials
payments
performance
permission
plugins/test
power
privateattribution
promise
prototype
push
quota Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
reporting
res
script
security Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
serializers
serviceworkers Bug 1901851 - Part 2: Remove unnecessary BackgroundParent arguments from response serializations, r=dom-worker-reviewers,asuth 2024-06-24 23:19:26 +00:00
simpledb
smil
storage
streams
svg Bug 1714238 - Use a single SVG path representation. r=boris,longsonr,webidl,smaug 2024-06-21 16:16:01 +00:00
system
tests Bug 1903329 - Update test expectations; r=peterv 2024-06-23 23:41:40 +00:00
url Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
vr
webauthn
webbrowserpersist
webgpu
webidl Bug 1714238 - Use a single SVG path representation. r=boris,longsonr,webidl,smaug 2024-06-21 16:16:01 +00:00
webscheduling Bug 1894231 - Remove CheckedUnsafePtr<WorkerPrivate> of WebTaskSchedulerWorker. r=dom-worker-reviewers,smaug 2024-06-24 22:20:50 +00:00
webshare
websocket Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
webtransport
workers Bug 1728331 - Part 4: Make ContentParent KeepAlives explicit with RAII references, r=smaug,dom-worker-reviewers,asuth 2024-06-24 23:19:28 +00:00
worklet
xhr Bug 1894231 - P5 Remove XMLHttpRequestWorker's Proxy::mWorkerPrivate. r=dom-worker-reviewers,asuth 2024-06-24 22:20:52 +00:00
xml
xslt Bug 697151 - distinguish between SYNC and ASYNC XMLHttpRequests in nsIContentPolicy types, and have ChannelEventQueue::MaybeSuspendIfEventsAreSuppressed only suspend async ones; r=nika,necko-reviewers,peterv,dom-storage-reviewers,asuth,kershaw 2024-06-24 18:45:18 +00:00
xul
jar.mn
metrics.yaml
moz.build
pings.yaml