Bug 1302632: P4. Do not change network state to NETWORK_EMPTY. r=jwwang

There's no such step defined in the spec. Despite, this code can no longer be called when readyState is HAVE_NOTHING

MozReview-Commit-ID: 2fDoNHt1COp
This commit is contained in:
Jean-Yves Avenard
2016-09-15 16:20:43 +10:00
parent 1933de1197
commit d227fd5005

View File

@@ -4467,6 +4467,8 @@ void HTMLMediaElement::Error(uint16_t aErrorCode,
aErrorCode == MEDIA_ERR_NETWORK ||
aErrorCode == MEDIA_ERR_ABORTED,
"Only use MediaError codes!");
NS_ASSERTION(mReadyState > HAVE_NOTHING,
"Shouldn't be called when readyState is HAVE_NOTHING");
// Since we have multiple paths calling into DecodeError, e.g.
// MediaKeys::Terminated and EMEH264Decoder::Error. We should take the 1st
@@ -4477,12 +4479,7 @@ void HTMLMediaElement::Error(uint16_t aErrorCode,
mError = new MediaError(this, aErrorCode, aErrorDetails);
DispatchAsyncEvent(NS_LITERAL_STRING("error"));
if (mReadyState == nsIDOMHTMLMediaElement::HAVE_NOTHING) {
ChangeNetworkState(nsIDOMHTMLMediaElement::NETWORK_EMPTY);
DispatchAsyncEvent(NS_LITERAL_STRING("emptied"));
} else {
ChangeNetworkState(nsIDOMHTMLMediaElement::NETWORK_IDLE);
}
ChangeNetworkState(nsIDOMHTMLMediaElement::NETWORK_IDLE);
ChangeDelayLoadStatus(false);
UpdateAudioChannelPlayingState();
}