Bug 871747 - Load the TrackElement outside the document. r=rillian draft
authorbechen <bechen@mozilla.com>
Mon, 11 Jul 2016 15:03:53 +0800
changeset 386107 fa21d18a14e6ba8a9148f0eecb7bab3919202ac2
parent 386010 679118259e91f40d4a8f968f03ec4cff066cdb5b
child 386108 59e1ac2a99e5fd0348a2c1c7ab604e5876808682
child 386165 bb660873a059c2c0e779f32e7d22639bff0b32b8
child 386502 6b4bbf90a4b3ebec62cf2fd213e6a5485e370407
push id22623
push userbechen@mozilla.com
push dateMon, 11 Jul 2016 07:19:51 +0000
reviewersrillian
bugs871747
milestone50.0a1
Bug 871747 - Load the TrackElement outside the document. r=rillian MozReview-Commit-ID: Cql1YAZnnnL
dom/html/HTMLTrackElement.cpp
--- a/dom/html/HTMLTrackElement.cpp
+++ b/dom/html/HTMLTrackElement.cpp
@@ -234,20 +234,16 @@ HTMLTrackElement::BindToTree(nsIDocument
                              bool aCompileEventHandlers)
 {
   nsresult rv = nsGenericHTMLElement::BindToTree(aDocument,
                                                  aParent,
                                                  aBindingParent,
                                                  aCompileEventHandlers);
   NS_ENSURE_SUCCESS(rv, rv);
 
-  if (!aDocument) {
-    return NS_OK;
-  }
-
   LOG(LogLevel::Debug, ("Track Element bound to tree."));
   if (!aParent || !aParent->IsNodeOfType(nsINode::eMEDIA)) {
     return NS_OK;
   }
 
   // Store our parent so we can look up its frame for display.
   if (!mMediaParent) {
     mMediaParent = static_cast<HTMLMediaElement*>(aParent);
@@ -258,17 +254,17 @@ HTMLTrackElement::BindToTree(nsIDocument
 
     // We may already have a TextTrack at this point if GetTrack() has already
     // been called. This happens, for instance, if script tries to get the
     // TextTrack before its mTrackElement has been bound to the DOM tree.
     if (!mTrack) {
       CreateTextTrack();
     }
     RefPtr<Runnable> r = NewRunnableMethod(this, &HTMLTrackElement::LoadResource);
-    mMediaParent->RunInStableState(r);
+    nsContentUtils::RunInStableState(r.forget());
   }
 
   return NS_OK;
 }
 
 void
 HTMLTrackElement::UnbindFromTree(bool aDeep, bool aNullParent)
 {