Bug 1343796 - Label runnables in TextTrack.cpp. r=jwwang draft
authorbechen <bechen@mozilla.com>
Wed, 15 Mar 2017 11:58:50 +0800
changeset 498665 85ddbdcf2ef7bc040b7c7774e54f25a64d5318a6
parent 497875 6d38ad302429c98115c354d643e81987ecec5d3c
child 549211 66bce195281b1d4edaa339250f4189ab6822e33b
push id49264
push userbechen@mozilla.com
push dateWed, 15 Mar 2017 03:59:20 +0000
reviewersjwwang
bugs1343796
milestone55.0a1
Bug 1343796 - Label runnables in TextTrack.cpp. r=jwwang MozReview-Commit-ID: GvqwG181R4i
dom/media/TextTrack.cpp
--- a/dom/media/TextTrack.cpp
+++ b/dom/media/TextTrack.cpp
@@ -8,16 +8,17 @@
 #include "mozilla/dom/TextTrack.h"
 #include "mozilla/dom/TextTrackBinding.h"
 #include "mozilla/dom/TextTrackList.h"
 #include "mozilla/dom/TextTrackCue.h"
 #include "mozilla/dom/TextTrackCueList.h"
 #include "mozilla/dom/TextTrackRegion.h"
 #include "mozilla/dom/HTMLMediaElement.h"
 #include "mozilla/dom/HTMLTrackElement.h"
+#include "nsGlobalWindow.h"
 
 namespace mozilla {
 namespace dom {
 
 NS_IMPL_CYCLE_COLLECTION_INHERITED(TextTrack,
                                    DOMEventTargetHelper,
                                    mCueList,
                                    mActiveCueList,
@@ -325,18 +326,23 @@ TextTrack::GetLanguage(nsAString& aLangu
   } else {
     aLanguage = mLanguage;
   }
 }
 
 void
 TextTrack::DispatchAsyncTrustedEvent(const nsString& aEventName)
 {
+  nsPIDOMWindowInner* win = GetOwner();
+  if (!win) {
+    return;
+  }
   RefPtr<TextTrack> self = this;
-  NS_DispatchToMainThread(
+  nsGlobalWindow::Cast(win)->Dispatch(
+    "TextTrack::DispatchAsyncTrustedEvent", TaskCategory::Other,
     NS_NewRunnableFunction([self, aEventName]() {
       self->DispatchTrustedEvent(aEventName);
     })
   );
 }
 
 bool
 TextTrack::IsLoaded()