[DOM] Improve MessagePort state machine.

This commit is contained in:
Moonchild 2023-11-23 17:32:44 +01:00 committed by roytam1
commit 114daae894

View file

@ -296,6 +296,11 @@ MessagePort::MessagePort(nsIGlobalObject* aGlobal)
MessagePort::~MessagePort()
{
CloseForced();
MOZ_ASSERT(!mActor);
if (mActor) {
mActor->SetPort(nullptr);
mActor = nullptr;
}
MOZ_ASSERT(!mWorkerHolder);
}
@ -370,6 +375,7 @@ MessagePort::Initialize(const nsID& aUUID,
nsAutoPtr<WorkerHolder> workerHolder(new MessagePortWorkerHolder(this));
if (NS_WARN_IF(!workerHolder->HoldWorker(workerPrivate, Closing))) {
CloseForced();
aRv.Throw(NS_ERROR_FAILURE);
return;
}