Bug 1343798 - Label runnables for HTMLTrackElement. r=jwwang draft
authorbechen <bechen@mozilla.com>
Wed, 08 Mar 2017 10:10:35 +0800
changeset 494875 1f23f3d7cd09e30be9cfa191f6627bf1bacc115c
parent 494263 b7e42143bbbc9dc3e5c05bd1e93b6485ce1d0ad4
child 495736 0faa06f444466e157ab17fe3c1cc261dff97a2af
push id48173
push userbechen@mozilla.com
push dateWed, 08 Mar 2017 02:13:56 +0000
reviewersjwwang
bugs1343798
milestone55.0a1
Bug 1343798 - Label runnables for HTMLTrackElement. r=jwwang MozReview-Commit-ID: El7LXJFAHiM
dom/html/HTMLTrackElement.cpp
--- a/dom/html/HTMLTrackElement.cpp
+++ b/dom/html/HTMLTrackElement.cpp
@@ -428,22 +428,27 @@ HTMLTrackElement::SetReadyState(uint16_t
     }
     mTrack->SetReadyState(aReadyState);
   }
 }
 
 void
 HTMLTrackElement::DispatchTrackRunnable(const nsString& aEventName)
 {
+  nsIDocument* doc = OwnerDoc();
+  if (!doc) {
+    return;
+  }
   nsCOMPtr<nsIRunnable> runnable =
     NewRunnableMethod
       <const nsString>(this,
                        &HTMLTrackElement::DispatchTrustedEvent,
                        aEventName);
-  NS_DispatchToMainThread(runnable);
+  doc->Dispatch("HTMLTrackElement::DispatchTrackRunnable",
+                TaskCategory::Other, runnable.forget());
 }
 
 void
 HTMLTrackElement::DispatchTrustedEvent(const nsAString& aName)
 {
   nsIDocument* doc = OwnerDoc();
   if (!doc) {
     return;