Changeset 196263 in webkit
- Timestamp:
- Feb 8, 2016 11:33:50 AM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r196256 r196263 1 2016-02-08 Jeremy Jones <jeremyj@apple.com> 2 3 PiP and external playback are mutually exclusive. 4 https://bugs.webkit.org/show_bug.cgi?id=153988 5 rdar://problem/24108661 6 7 Reviewed by Eric Carlson. 8 9 Adding isPlayingOnSecondScreen to isPlayingOnExternalScreen allows AVKit to disable PiP 10 when appropriate. Testing video fullscreen mode in updateDisableExternalPlayback allows us to 11 turn-off external playback when entering picture-in-picture. 12 13 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: 14 (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode): 15 (WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback): 16 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: 17 (-[WebAVPlayerController isPlayingOnExternalScreen]): 18 (+[WebAVPlayerController keyPathsForValuesAffectingPlayingOnExternalScreen]): 19 1 20 2016-02-08 Commit Queue <commit-queue@webkit.org> 2 21 -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
r196131 r196263 1154 1154 if (m_videoLayer && [m_videoLayer respondsToSelector:@selector(setPIPModeEnabled:)]) 1155 1155 [m_videoLayer setPIPModeEnabled:(mode & MediaPlayer::VideoFullscreenModePictureInPicture)]; 1156 updateDisableExternalPlayback(); 1156 1157 #else 1157 1158 UNUSED_PARAM(mode); … … 3099 3100 3100 3101 #if PLATFORM(IOS) 3101 [m_avPlayer setUsesExternalPlaybackWhileExternalScreenIsActive: m_videoFullscreenLayerManager->videoFullscreenLayer() != nil];3102 [m_avPlayer setUsesExternalPlaybackWhileExternalScreenIsActive:player()->fullscreenMode() & MediaPlayer::VideoFullscreenModeStandard]; 3102 3103 #endif 3103 3104 } -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm
r196254 r196263 156 156 157 157 @property (readonly, getter=isPlayingOnExternalScreen) BOOL playingOnExternalScreen; 158 @property (readonly, getter=isPlayingOnSecondScreen) BOOL playingOnSecondScreen; 158 159 @property (getter=isExternalPlaybackActive) BOOL externalPlaybackActive; 159 160 @property AVPlayerControllerExternalPlaybackType externalPlaybackType; … … 604 605 - (BOOL)isPlayingOnExternalScreen 605 606 { 606 return [self isExternalPlaybackActive] ;607 return [self isExternalPlaybackActive] || [self isPlayingOnSecondScreen]; 607 608 } 608 609 609 610 + (NSSet *)keyPathsForValuesAffectingPlayingOnExternalScreen 610 611 { 611 return [NSSet setWithObjects:@"externalPlaybackActive", nil];612 return [NSSet setWithObjects:@"externalPlaybackActive", @"playingOnSecondScreen", nil]; 612 613 } 613 614
Note: See TracChangeset
for help on using the changeset viewer.