gecko-dev/dom/workers
Kris Maglione 8b884c80c8 Bug 1399646: Part 2 - Use the async shutdown service for ServiceWorkerRegistrar. r=baku
The current shutdown handling code is susceptible to deadlocks, since it spins
the event loop while it holds mMonitor, and other main thread methods which
try to acquire mMonitor can be called from code that runs while the event loop
is spinning.

My initial solution was just to release mMonitor before spinning the event
loop, but at this point I think it makes more sense to switch to the
standardized AsyncShutdown routines, which provide better diagnostics and
allow us to avoid one more nested event loop during shutdown.

MozReview-Commit-ID: 1RtFN585IR7

--HG--
extra : rebase_source : 978f3bf7cef73e56b3e1c1c838c2bc6efcefb0c0
extra : amend_source : 2b7c9422004b58ad1d38d7dd705ad446bc47cb23
extra : histedit_source : 7a4e80de7d5aa48e074ea03821bb78e5e287842e%2C92c1119a131adaa33f5691c0e534bb243115817b
2017-09-14 11:30:50 -07:00
..
test Bug 1399038 - Enable Storage API on beta/release. r=janv, baku 2017-09-13 21:46:36 +08:00
ChromeWorkerScope.cpp
ChromeWorkerScope.h
FileReaderSync.cpp Bug 1397810 - FileReaderSync should use Blob::GetSize() to known the size of the stream and not stream::Available(), r=smaug 2017-09-08 11:23:02 +02:00
FileReaderSync.h Bug 1397810 - FileReaderSync should use Blob::GetSize() to known the size of the stream and not stream::Available(), r=smaug 2017-09-08 11:23:02 +02:00
moz.build Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
nsIWorkerDebugger.idl
nsIWorkerDebuggerManager.idl
Principal.cpp
Principal.h
PServiceWorkerManager.ipdl Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
PServiceWorkerUpdater.ipdl Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
Queue.h
RegisterBindings.cpp
RuntimeService.cpp Bug 1277562 - Part 16b: Implement javascript.options.wasm_ionjit. r=billm 2017-06-29 15:37:01 -07:00
RuntimeService.h Bug 1364297 - Use nsString instead nsCString for Worker names, r=smaug 2017-05-17 16:49:34 +02:00
ScriptLoader.cpp Bug 1398484 Only assert that the channel does not change for top level service worker scripts. r=baku 2017-09-13 05:53:54 -07:00
ScriptLoader.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
ServiceWorker.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
ServiceWorker.h
ServiceWorkerClient.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
ServiceWorkerClient.h Bug 1266747 P3 Sort output of Clients.matchAll(). r=smaug 2017-02-28 22:12:27 -05:00
ServiceWorkerClients.cpp Bug 1364016 - Explicitly pass a triggeringPrincipal to openURI. r=gijs,baku 2017-07-05 21:58:21 +02:00
ServiceWorkerClients.h
ServiceWorkerCommon.h
ServiceWorkerContainer.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
ServiceWorkerContainer.h
ServiceWorkerEvents.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
ServiceWorkerEvents.h Bug 1371889 - Fetch body must be kept alive using refcounting, r=bkelly 2017-06-20 17:53:20 +02:00
ServiceWorkerInfo.cpp Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerInfo.h Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerJob.cpp Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
ServiceWorkerJob.h
ServiceWorkerJobQueue.cpp
ServiceWorkerJobQueue.h
ServiceWorkerManager.cpp Bug 1397445: Remove expiring FILE_EMBEDDED_SERVICEWORKERS telemetry probe. r=bkelly 2017-09-08 11:21:27 -07:00
ServiceWorkerManager.h Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerManagerChild.cpp Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
ServiceWorkerManagerChild.h Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
ServiceWorkerManagerParent.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
ServiceWorkerManagerParent.h Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
ServiceWorkerManagerService.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
ServiceWorkerManagerService.h Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
ServiceWorkerPrivate.cpp Bug 1397627 - Fetch API and other components should pass the length of the stream to necko when known, r=smaug 2017-09-08 16:06:26 +02:00
ServiceWorkerPrivate.h Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
ServiceWorkerRegisterJob.cpp Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerRegisterJob.h Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerRegistrar.cpp Bug 1399646: Part 2 - Use the async shutdown service for ServiceWorkerRegistrar. r=baku 2017-09-14 11:30:50 -07:00
ServiceWorkerRegistrar.h Bug 1399646: Part 2 - Use the async shutdown service for ServiceWorkerRegistrar. r=baku 2017-09-14 11:30:50 -07:00
ServiceWorkerRegistrarTypes.ipdlh Bug 1353636 - Part 3: Update SERVICEWORKERREGISTRAR_VERSION and a related gtest. r=bkelly 2017-08-17 15:29:26 +08:00
ServiceWorkerRegistration.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
ServiceWorkerRegistration.h Bug 1353636 - Part 2: Expose ServieworkerRegistration.updateViaCache. r=bkelly 2017-08-16 14:21:29 +08:00
ServiceWorkerRegistrationInfo.cpp Bug 1353636 - Part 2: Expose ServieworkerRegistration.updateViaCache. r=bkelly 2017-08-16 14:21:29 +08:00
ServiceWorkerRegistrationInfo.h Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerScriptCache.cpp Bug 1378342 - AbortSignal/AbortController - part 6 - Implement Request.signal, r=bkelly 2017-08-29 11:31:06 +02:00
ServiceWorkerScriptCache.h Bug 1290951 - P2.1: Simplify the relationship between CompareManager, CompareNetwork and CompareCache. r=bkelly 2017-06-07 13:59:48 +08:00
ServiceWorkerUnregisterJob.cpp
ServiceWorkerUnregisterJob.h
ServiceWorkerUpdateJob.cpp Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerUpdateJob.h Bug 1353636 - Part 1: Move from nsLoadFlags to UpdateViaCache. r=bkelly 2017-08-16 14:18:52 +08:00
ServiceWorkerUpdaterChild.cpp Bug 1372736 - Avoid using AbstractThread for non-media MozPromises (r=bkelly) 2017-06-15 20:16:25 -07:00
ServiceWorkerUpdaterChild.h Bug 1346247 - Avoid race conditions when SW are updated - part 3 - MozPromise, r=bkelly 2017-03-28 11:49:16 +02:00
ServiceWorkerUpdaterParent.cpp Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
ServiceWorkerUpdaterParent.h Bug 1346247 - Avoid race conditions when SW are updated - part 1 - PServiceWorkerUpdater actor, r=bkelly 2017-03-28 11:48:38 +02:00
ServiceWorkerWindowClient.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
ServiceWorkerWindowClient.h
SharedWorker.cpp Bug 1397152 - Remove Telemetry ID SHARED_WORKER_COUNT, r=bkelly 2017-09-06 18:17:07 +02:00
SharedWorker.h Bug 1364297 - Worker and SharedWorker constructors have an optional WorkerOptions parameter, r=smaug 2017-05-17 16:48:54 +02:00
WorkerDebuggerManager.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
WorkerDebuggerManager.h
WorkerHolder.cpp Bug 1362444 P1 Allow idle worker shutdown to begin for an opt-in WorkerHolder mode. r=baku 2017-05-10 09:27:10 -07:00
WorkerHolder.h Bug 1362444 P1 Allow idle worker shutdown to begin for an opt-in WorkerHolder mode. r=baku 2017-05-10 09:27:10 -07:00
WorkerInlines.h
WorkerLocation.cpp
WorkerLocation.h
WorkerNavigator.cpp Bug 1333651 - Part 2: Spoofing Navigator object when 'privacy.resistFingerprinting' is true. r=arthuredelstein,Ehsan 2017-06-01 14:54:59 +08:00
WorkerNavigator.h
WorkerPrefs.h Bug 1378342 - AbortSignal/AbortController - part 4 - Separate pref for AbortSignal/AbortController, r=bkelly 2017-08-29 11:31:06 +02:00
WorkerPrivate.cpp Bug 1359017 - onmessageerror for Workers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
WorkerPrivate.h Bug 1359017 - onmessageerror for Workers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
WorkerRunnable.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
WorkerRunnable.h Bug 1368296 - Renaming WorkerProxyToMainThreadRunnable::RunBackOnWorkerThread to RunBackOnWorkerThreadForCleanup and improving the description for this method, r=asuth 2017-06-02 11:05:27 +02:00
Workers.h Bug 1368106 - Use the new MOZ_DIAGNOSTIC_ASSERT_ENABLED instead of several defines r=glandium 2017-05-26 18:53:35 +02:00
WorkerScope.cpp Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv 2017-08-29 16:02:48 -07:00
WorkerScope.h Bug 1359017 - onmessageerror for Workers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
WorkerThread.cpp Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm) 2017-08-16 20:55:43 -07:00
WorkerThread.h Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm) 2017-08-16 20:55:43 -07:00