Changeset 183826 in webkit
- Timestamp:
- May 5, 2015, 1:50:02 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r183824 r183826 1 2015-05-05 Eric Carlson <eric.carlson@apple.com> 2 3 Only autoplay videos should not automatically play to playback target 4 https://bugs.webkit.org/show_bug.cgi?id=144633 5 6 Reviewed by Jer Noble. 7 8 * html/HTMLMediaElement.cpp: 9 (WebCore::HTMLMediaElement::HTMLMediaElement): Set RequireUserGestureToAutoplayToExternalDevice. 10 (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Remove 11 RequireUserGestureToAutoplayToExternalDevice. 12 (WebCore::HTMLMediaElement::mediaState): Set ExternalDeviceAutoPlayCandidate if playback 13 was started from a user gesture, even if the video loops and/or doesn't have audio. 14 15 * html/HTMLMediaSession.h: Define RequireUserGestureToAutoplayToExternalDevice. 16 (WebCore::HTMLMediaSession::hasBehaviorRestriction): New. 17 1 18 2015-05-05 Brent Fulgham <bfulgham@apple.com> 2 19 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r183751 r183826 342 342 m_mediaSession->addBehaviorRestriction(HTMLMediaSession::RequireUserGestureForFullscreen); 343 343 m_mediaSession->addBehaviorRestriction(HTMLMediaSession::RequirePageConsentToLoadMedia); 344 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 345 m_mediaSession->addBehaviorRestriction(HTMLMediaSession::RequireUserGestureToAutoplayToExternalDevice); 346 #endif 344 347 345 348 // FIXME: We should clean up and look to better merge the iOS and non-iOS code below. … … 5893 5896 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 5894 5897 | HTMLMediaSession::RequireUserGestureToShowPlaybackTargetPicker 5898 | HTMLMediaSession::RequireUserGestureToAutoplayToExternalDevice 5895 5899 #endif 5896 5900 | HTMLMediaSession::RequireUserGestureForLoad … … 6211 6215 } 6212 6216 6213 if (hasActiveVideo && hasAudio && !loop()) 6217 bool requireUserGesture = m_mediaSession->hasBehaviorRestriction(HTMLMediaSession::RequireUserGestureToAutoplayToExternalDevice); 6218 if (hasActiveVideo && (!requireUserGesture || (hasAudio && !loop()))) 6214 6219 state |= ExternalDeviceAutoPlayCandidate; 6215 6216 6220 #endif 6217 6221 -
trunk/Source/WebCore/html/HTMLMediaSession.h
r183509 r183826 84 84 RequirePageConsentToLoadMedia = 1 << 3, 85 85 RequirePageConsentToResumeMedia = 1 << 4, 86 RequireUserGestureForAudioRateChange = 1 << 5, 86 87 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 87 RequireUserGestureToShowPlaybackTargetPicker = 1 << 5, 88 WirelessVideoPlaybackDisabled = 1 << 6, 88 RequireUserGestureToShowPlaybackTargetPicker = 1 << 6, 89 WirelessVideoPlaybackDisabled = 1 << 7, 90 RequireUserGestureToAutoplayToExternalDevice = 1 << 8, 89 91 #endif 90 RequireUserGestureForAudioRateChange = 1 << 7,91 92 }; 92 93 typedef unsigned BehaviorRestrictions; … … 95 96 WEBCORE_EXPORT void addBehaviorRestriction(BehaviorRestrictions); 96 97 WEBCORE_EXPORT void removeBehaviorRestriction(BehaviorRestrictions); 98 bool hasBehaviorRestriction(BehaviorRestrictions restriction) const { return restriction & m_restrictions; } 97 99 98 100 #if ENABLE(MEDIA_SOURCE)
Note:
See TracChangeset
for help on using the changeset viewer.