gecko-dev/dom/workers
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
..
loader Bug 1894231 - P6 Remove ScriptResponseHeaderProcessor::mWorkerPrivate. r=dom-worker-reviewers,asuth 2024-06-24 22:20:52 +00:00
remoteworkers 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
sharedworkers
test Bug 1903329 - Update test expectations; r=peterv 2024-06-23 23:41:40 +00:00
ChromeWorker.cpp
ChromeWorker.h
ChromeWorkerScope.cpp
ChromeWorkerScope.h
EventWithOptionsRunnable.cpp
EventWithOptionsRunnable.h
JSExecutionManager.cpp
JSExecutionManager.h
JSSettings.h
MessageEventRunnable.cpp
MessageEventRunnable.h
moz.build
nsIWorkerChannelInfo.idl
nsIWorkerDebugger.idl
nsIWorkerDebuggerManager.idl
Queue.h
RegisterBindings.cpp
RuntimeService.cpp Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
RuntimeService.h Backed out changeset 08430749c503 (bug 1817981) for causing mochitest failures on test_worker_in_background.html 2024-06-19 03:11:23 +03:00
ScriptLoader.cpp Bug 1894231 - P6 Remove ScriptResponseHeaderProcessor::mWorkerPrivate. r=dom-worker-reviewers,asuth 2024-06-24 22:20:52 +00:00
ScriptLoader.h
Worker.cpp
Worker.h
WorkerChannelInfo.cpp
WorkerChannelInfo.h
WorkerCommon.h Backed out changeset 08430749c503 (bug 1817981) for causing mochitest failures on test_worker_in_background.html 2024-06-19 03:11:23 +03:00
WorkerCSPEventListener.cpp
WorkerCSPEventListener.h
WorkerDebugger.cpp
WorkerDebugger.h
WorkerDebuggerManager.cpp
WorkerDebuggerManager.h
WorkerDocumentListener.cpp
WorkerDocumentListener.h
WorkerError.cpp
WorkerError.h
WorkerEventTarget.cpp
WorkerEventTarget.h
WorkerIPCUtils.h
WorkerLoadInfo.cpp
WorkerLoadInfo.h
WorkerLocation.cpp
WorkerLocation.h
WorkerNavigator.cpp Bug 1894231 - P3 Remove WorkerPrivate* in WorkerMainThreadRunnable. r=dom-worker-reviewers,extension-reviewers,smaug,rpl 2024-06-24 22:20:51 +00:00
WorkerNavigator.h
WorkerPrivate.cpp Bug 1894231 - P11 Remove WorkerThreadRunnable::mWorkerPrivateForPreStartCleaning. r=dom-worker-reviewers,asuth 2024-06-24 22:20:54 +00:00
WorkerPrivate.h Bug 1894231 - P11 Remove WorkerThreadRunnable::mWorkerPrivateForPreStartCleaning. r=dom-worker-reviewers,asuth 2024-06-24 22:20:54 +00:00
WorkerRef.cpp
WorkerRef.h
WorkerRunnable.cpp Bug 1894231 - P11 Remove WorkerThreadRunnable::mWorkerPrivateForPreStartCleaning. r=dom-worker-reviewers,asuth 2024-06-24 22:20:54 +00:00
WorkerRunnable.h Bug 1894231 - P11 Remove WorkerThreadRunnable::mWorkerPrivateForPreStartCleaning. r=dom-worker-reviewers,asuth 2024-06-24 22:20:54 +00:00
WorkerScope.cpp
WorkerScope.h
WorkerStatus.h
WorkerTestUtils.cpp Backed out changeset 08430749c503 (bug 1817981) for causing mochitest failures on test_worker_in_background.html 2024-06-19 03:11:23 +03:00
WorkerTestUtils.h Backed out changeset 08430749c503 (bug 1817981) for causing mochitest failures on test_worker_in_background.html 2024-06-19 03:11:23 +03:00
WorkerThread.cpp
WorkerThread.h