Bug 1318506 - Label MessagePort runnables by DocGroup (r?bkelly)
MozReview-Commit-ID: 8uhgm7ivVSh
--- a/dom/messagechannel/MessagePort.cpp
+++ b/dom/messagechannel/MessagePort.cpp
@@ -559,16 +559,23 @@ MessagePort::Dispatch()
break;
}
RefPtr<SharedMessagePortMessage> data = mMessages.ElementAt(0);
mMessages.RemoveElementAt(0);
mPostMessageRunnable = new PostMessageRunnable(this, data);
+ if (NS_IsMainThread()) {
+ if (nsCOMPtr<nsIGlobalObject> global = GetOwnerGlobal()) {
+ MOZ_ALWAYS_SUCCEEDS(global->Dispatch("MessagePortMessage", TaskCategory::Other, do_AddRef(mPostMessageRunnable)));
+ return;
+ }
+ }
+
MOZ_ALWAYS_SUCCEEDS(NS_DispatchToCurrentThread(mPostMessageRunnable));
}
void
MessagePort::Close()
{
CloseInternal(true /* aSoftly */);
}