Bug 1334112 -part3 : Trigger UpdateReadyState after unbind TrackElement's and TextTrack::SetReadyState. r=rillian
MozReview-Commit-ID: pEeOzZSpak
--- a/dom/html/HTMLTrackElement.cpp
+++ b/dom/html/HTMLTrackElement.cpp
@@ -358,16 +358,17 @@ HTMLTrackElement::BindToTree(nsIDocument
void
HTMLTrackElement::UnbindFromTree(bool aDeep, bool aNullParent)
{
if (mMediaParent && aNullParent) {
// mTrack can be null if HTMLTrackElement::LoadResource has never been
// called.
if (mTrack) {
mMediaParent->RemoveTextTrack(mTrack);
+ mMediaParent->UpdateReadyState();
}
mMediaParent = nullptr;
}
nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent);
}
uint16_t
--- a/dom/media/TextTrack.cpp
+++ b/dom/media/TextTrack.cpp
@@ -258,16 +258,17 @@ TextTrack::SetReadyState(TextTrackReadyS
if (!mTextTrackList) {
return;
}
HTMLMediaElement* mediaElement = mTextTrackList->GetMediaElement();
if (mediaElement && (mReadyState == TextTrackReadyState::Loaded||
mReadyState == TextTrackReadyState::FailedToLoad)) {
mediaElement->RemoveTextTrack(this, true);
+ mediaElement->UpdateReadyState();
}
}
TextTrackList*
TextTrack::GetTextTrackList()
{
return mTextTrackList;
}