Bug 1318506 - Label MessagePort runnables by DocGroup (r?bkelly) draft
authorBill McCloskey <billm@mozilla.com>
Sun, 13 Nov 2016 10:22:40 -0800
changeset 444817 f80cf57ce5f3c63c3ed3a2e2b0a81f803abd633c
parent 444816 867f1d2e445b4cc2a0154d0be1db02733d16e07d
child 444818 c15690cc3eee9bb90cb60bb3292f4b52849b407e
push id37376
push userbmo:wmccloskey@mozilla.com
push dateMon, 28 Nov 2016 21:43:46 +0000
reviewersbkelly
bugs1318506
milestone53.0a1
Bug 1318506 - Label MessagePort runnables by DocGroup (r?bkelly) MozReview-Commit-ID: 8uhgm7ivVSh
dom/messagechannel/MessagePort.cpp
--- a/dom/messagechannel/MessagePort.cpp
+++ b/dom/messagechannel/MessagePort.cpp
@@ -561,16 +561,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 */);
 }