Changeset 261576 in webkit
- Timestamp:
- May 12, 2020 1:43:58 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r261575 r261576 1 2020-05-12 Eric Carlson <eric.carlson@apple.com> 2 3 Poster set after playback begins should be ignored 4 https://bugs.webkit.org/show_bug.cgi?id=211464 5 <rdar://problem/62605114> 6 7 Reviewed by Darin Adler. 8 9 * media/video-poster-set-after-playback-expected.txt: Added. 10 * media/video-poster-set-after-playback.html: Added. 11 1 12 2020-05-12 Simon Fraser <simon.fraser@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r261575 r261576 1 2020-05-12 Eric Carlson <eric.carlson@apple.com> 2 3 Poster set after playback begins should be ignored 4 https://bugs.webkit.org/show_bug.cgi?id=211464 5 <rdar://problem/62605114> 6 7 Reviewed by Darin Adler. 8 9 Test: media/video-poster-set-after-playback.html 10 11 * html/HTMLVideoElement.cpp: 12 (WebCore::HTMLVideoElement::parseAttribute): Ignore `poster` changes after first video frame 13 is available. 14 (WebCore::HTMLVideoElement::updateDisplayState): Set mode to Video if the first video 15 frame is available. 16 17 * testing/Internals.cpp: 18 (WebCore::Internals::elementShouldDisplayPosterImage const): 19 * testing/Internals.h: 20 * testing/Internals.idl: 21 1 22 2020-05-12 Simon Fraser <simon.fraser@apple.com> 2 23 -
trunk/Source/WebCore/html/HTMLVideoElement.cpp
r261501 r261576 133 133 { 134 134 if (name == posterAttr) { 135 if (hasAvailableVideoFrame()) 136 return; 137 135 138 // Force a poster recalc by setting m_displayMode to Unknown directly before calling updateDisplayState. 136 139 HTMLMediaElement::setDisplayMode(Unknown); … … 162 165 #endif 163 166 } 164 165 167 } 166 168 … … 279 281 void HTMLVideoElement::updateDisplayState() 280 282 { 281 if (posterImageURL().isEmpty() )283 if (posterImageURL().isEmpty() || hasAvailableVideoFrame()) 282 284 setDisplayMode(Video); 283 285 else if (displayMode() < Poster) -
trunk/Source/WebCore/testing/Internals.cpp
r261553 r261576 4335 4335 } 4336 4336 4337 ExceptionOr<bool> Internals::elementShouldDisplayPosterImage(HTMLVideoElement& element) const 4338 { 4339 #if ENABLE(VIDEO) 4340 return element.shouldDisplayPosterImage(); 4341 #else 4342 UNUSED_PARAM(element); 4343 return Exception { InvalidAccessError }; 4344 #endif 4345 } 4337 4346 4338 4347 #if ENABLE(WIRELESS_PLAYBACK_TARGET) -
trunk/Source/WebCore/testing/Internals.h
r261553 r261576 868 868 ExceptionOr<MediaUsageState> mediaUsageState(HTMLMediaElement&) const; 869 869 870 ExceptionOr<bool> elementShouldDisplayPosterImage(HTMLVideoElement&) const; 871 870 872 #if ENABLE(VIDEO) 871 873 using PlaybackControlsPurpose = MediaElementSession::PlaybackControlsPurpose; -
trunk/Source/WebCore/testing/Internals.idl
r261479 r261576 841 841 842 842 [Conditional=VIDEO, MayThrowException] MediaUsageState mediaUsageState(HTMLMediaElement element); 843 [Conditional=VIDEO, MayThrowException] boolean elementShouldDisplayPosterImage(HTMLVideoElement element); 843 844 844 845 DOMString ongoingLoadsDescriptions();
Note: See TracChangeset
for help on using the changeset viewer.