summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-12-06 17:03:06 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-12-06 17:03:06 +0100
commitc0ab25726daf60ded65903d54b8cccaf0cb46661 (patch)
treef59cfdacdbf13c5d13a401b7ae279b4530539baf
parentd927df43e6af72869900b65e826f985b345bb509 (diff)
downloaduxp-c0ab25726daf60ded65903d54b8cccaf0cb46661.tar.gz
Add missing call to WaitForIsDebuggerRegistered
-rw-r--r--dom/workers/WorkerPrivate.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp
index 27eb570e90..c6ef21f2cd 100644
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -2543,6 +2543,12 @@ WorkerPrivateParent<Derived>::DisableDebugger()
WorkerPrivate* self = ParentAsWorkerPrivate();
+ // RegisterDebugger might have been dispatched but not completed.
+ // Wait for its execution to complete before unregistering.
+ if (!NS_IsMainThread()) {
+ self->WaitForIsDebuggerRegistered(true);
+ }
+
if (NS_FAILED(UnregisterWorkerDebugger(self))) {
NS_WARNING("Failed to unregister worker debugger!");
}