Bug 1341539 - Label runnables for HTMLTrackElement. r? draft
authorbechen <bechen@mozilla.com>
Fri, 03 Mar 2017 18:06:03 +0800
changeset 493160 86c416c9804828ac2ed45b675ba3ed20558b3326
parent 493068 4c8ede49b1338479f679366ce20a1e163a9e0275
child 547765 d1dd84c599e142fa8f50bf6623c1aa11bc5e80b5
push id47654
push userbechen@mozilla.com
push dateFri, 03 Mar 2017 10:07:09 +0000
bugs1341539
milestone54.0a1
Bug 1341539 - Label runnables for HTMLTrackElement. r? 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;