Bug 1240478 - Assert that we know the video size on 'loadedmetadata'. r?jesup draft
authorAndreas Pehrson <pehrsons@gmail.com>
Thu, 21 Jan 2016 19:42:55 +0800
changeset 324165 39b2715cad42bba104dc513c48d1ee4bdfeb93e5
parent 324164 d7bb9ccd886b9ba57fb179e542adbe4a5fbb89aa
child 324166 05a5d8f8b8e3ec4b812957200464e1627d57637b
push id9864
push userpehrsons@gmail.com
push dateFri, 22 Jan 2016 06:24:47 +0000
reviewersjesup
bugs1240478
milestone46.0a1
Bug 1240478 - Assert that we know the video size on 'loadedmetadata'. r?jesup
dom/html/HTMLMediaElement.cpp
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -3390,16 +3390,20 @@ void HTMLMediaElement::MetadataLoaded(co
   mTags = aTags.forget();
   mLoadedDataFired = false;
   ChangeReadyState(nsIDOMHTMLMediaElement::HAVE_METADATA);
 
   DispatchAsyncEvent(NS_LITERAL_STRING("durationchange"));
   if (IsVideo() && HasVideo()) {
     DispatchAsyncEvent(NS_LITERAL_STRING("resize"));
   }
+  NS_ASSERTION(!HasVideo() ||
+               (mMediaInfo.mVideo.mDisplay.width > 0 &&
+                mMediaInfo.mVideo.mDisplay.height > 0),
+               "Video resolution must be known on 'loadedmetadata'");
   DispatchAsyncEvent(NS_LITERAL_STRING("loadedmetadata"));
   if (mDecoder && mDecoder->IsTransportSeekable() && mDecoder->IsMediaSeekable()) {
     ProcessMediaFragmentURI();
     mDecoder->SetFragmentEndTime(mFragmentEnd);
   }
   if (mIsEncrypted) {
     if (!mMediaSource && Preferences::GetBool("media.eme.mse-only", true)) {
       DecodeError();