diff --git a/dom/base/SerializedStackHolder.cpp b/dom/base/SerializedStackHolder.cpp index c832839bbc9e..1ed854117b9f 100644 --- a/dom/base/SerializedStackHolder.cpp +++ b/dom/base/SerializedStackHolder.cpp @@ -27,9 +27,9 @@ void SerializedStackHolder::WriteStack(JSContext* aCx, JS_ClearPendingException(aCx); } -void SerializedStackHolder::SerializeMainThreadStack(JSContext* aCx, - JS::HandleObject aStack) { - MOZ_ASSERT(NS_IsMainThread()); +void SerializedStackHolder::SerializeMainThreadOrWorkletStack( + JSContext* aCx, JS::HandleObject aStack) { + MOZ_ASSERT(!IsCurrentThreadRunningWorker()); WriteStack(aCx, aStack); } @@ -59,7 +59,7 @@ void SerializedStackHolder::SerializeCurrentStack(JSContext* aCx) { if (stack) { if (NS_IsMainThread()) { - SerializeMainThreadStack(aCx, stack); + SerializeMainThreadOrWorkletStack(aCx, stack); } else { WorkerPrivate* currentWorker = GetCurrentThreadWorkerPrivate(); SerializeWorkerStack(aCx, currentWorker, stack); diff --git a/dom/base/SerializedStackHolder.h b/dom/base/SerializedStackHolder.h index 979ca50aed9f..0ad0fb6e10e0 100644 --- a/dom/base/SerializedStackHolder.h +++ b/dom/base/SerializedStackHolder.h @@ -30,8 +30,9 @@ class SerializedStackHolder { public: SerializedStackHolder(); - // Fill this holder with a main thread stack. - void SerializeMainThreadStack(JSContext* aCx, JS::HandleObject aStack); + // Fill this holder with a main or worklet thread stack. + void SerializeMainThreadOrWorkletStack(JSContext* aCx, + JS::HandleObject aStack); // Fill this holder with a worker thread stack. void SerializeWorkerStack(JSContext* aCx, WorkerPrivate* aWorkerPrivate,