Changeset 186032 in webkit
- Timestamp:
- Jun 27, 2015, 2:11:18 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r186024 r186032 1 2015-06-27 Eric Carlson <eric.carlson@apple.com> 2 3 [Mac] Only flag a video element as eligible for auto-play to AppleTV one time 4 https://bugs.webkit.org/show_bug.cgi?id=146386 5 6 Reviewed by Brent Fulgham. 7 8 * Modules/mediasession/WebMediaSessionManager.cpp: 9 (WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients): Drive-by fix - early 10 return when there are no clients. 11 12 * html/HTMLMediaElement.cpp: 13 (WebCore::HTMLMediaElement::pendingActionTimerFired): Set m_failedToPlayToWirelessTarget if the 14 media engine is still unable to play to the wireless target. 15 (WebCore::HTMLMediaElement::prepareForLoad): Clear m_failedToPlayToWirelessTarget. 16 (WebCore::HTMLMediaElement::mediaState): Don't set the ExternalDeviceAutoPlayCandidate flag 17 if m_failedToPlayToWirelessTarget is true. 18 * html/HTMLMediaElement.h: 19 1 20 2015-06-27 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr> 2 21 -
trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp
r185519 r186032 127 127 void WebMediaSessionManager::removeAllPlaybackTargetPickerClients(WebMediaSessionManagerClient& client) 128 128 { 129 if (m_clientState.isEmpty()) 130 return; 131 129 132 LOG(Media, "WebMediaSessionManager::removeAllPlaybackTargetPickerClients(%p)", &client); 130 133 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r186020 r186032 810 810 if (m_pendingActionFlags & CheckPlaybackTargetCompatablity && m_player && m_player->isCurrentPlaybackTargetWireless() && !m_player->canPlayToWirelessPlaybackTarget()) { 811 811 LOG(Media, "HTMLMediaElement::pendingActionTimerFired(%p) - calling setShouldPlayToPlaybackTarget(false)", this); 812 m_failedToPlayToWirelessTarget = true; 812 813 m_player->setShouldPlayToPlaybackTarget(false); 813 814 } … … 920 921 m_displayMode = Unknown; 921 922 m_currentSrc = URL(); 923 924 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 925 m_failedToPlayToWirelessTarget = false; 926 #endif 922 927 923 928 // 1 - Abort any already-running instance of the resource selection algorithm for this element. … … 6340 6345 6341 6346 bool requireUserGesture = m_mediaSession->hasBehaviorRestriction(MediaElementSession::RequireUserGestureToAutoplayToExternalDevice); 6342 if (hasActiveVideo && (!requireUserGesture || (hasAudio && !m_initiallyMuted && !loop())) )6347 if (hasActiveVideo && (!requireUserGesture || (hasAudio && !m_initiallyMuted && !loop())) && !m_failedToPlayToWirelessTarget) 6343 6348 state |= ExternalDeviceAutoPlayCandidate; 6344 6349 #endif -
trunk/Source/WebCore/html/HTMLMediaElement.h
r186020 r186032 934 934 MediaProducer::MediaStateFlags m_mediaState { MediaProducer::IsNotPlaying }; 935 935 bool m_hasPlaybackTargetAvailabilityListeners { false }; 936 bool m_failedToPlayToWirelessTarget { false }; 936 937 #endif 937 938 };
Note:
See TracChangeset
for help on using the changeset viewer.