Changeset 185727 in webkit
- Timestamp:
- Jun 18, 2015, 4:42:22 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 31 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/html/HTMLMediaElement.cpp (modified) (2 diffs)
-
WebCore/html/HTMLVideoElement.cpp (modified) (3 diffs)
-
WebCore/html/MediaElementSession.cpp (modified) (1 diff)
-
WebCore/html/MediaElementSession.h (modified) (1 diff)
-
WebCore/page/Settings.cpp (modified) (1 diff)
-
WebCore/page/Settings.in (modified) (1 diff)
-
WebCore/platform/graphics/MediaPlayerEnums.h (modified) (1 diff)
-
WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (modified) (2 diffs)
-
WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm (modified) (1 diff)
-
WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h (modified) (4 diffs)
-
WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (modified) (19 diffs)
-
WebCore/platform/spi/cocoa/AVKitSPI.h (modified) (2 diffs)
-
WebCore/platform/spi/mac/AVFoundationSPI.h (modified) (1 diff)
-
WebKit/mac/ChangeLog (modified) (1 diff)
-
WebKit/mac/WebView/WebPreferenceKeysPrivate.h (modified) (1 diff)
-
WebKit/mac/WebView/WebPreferences.mm (modified) (2 diffs)
-
WebKit/mac/WebView/WebPreferencesPrivate.h (modified) (1 diff)
-
WebKit/mac/WebView/WebView.mm (modified) (2 diffs)
-
WebKit2/ChangeLog (modified) (1 diff)
-
WebKit2/Shared/WebPreferencesDefinitions.h (modified) (1 diff)
-
WebKit2/UIProcess/API/C/WKPreferences.cpp (modified) (1 diff)
-
WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h (modified) (1 diff)
-
WebKit2/UIProcess/API/Cocoa/WKWebView.mm (modified) (3 diffs)
-
WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h (modified) (1 diff)
-
WebKit2/UIProcess/ios/PageClientImplIOS.mm (modified) (1 diff)
-
WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h (modified) (2 diffs)
-
WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in (modified) (1 diff)
-
WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm (modified) (4 diffs)
-
WebKit2/WebProcess/WebPage/WebPage.cpp (modified) (1 diff)
-
WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r185726 r185727 1 2015-06-18 Jon Lee <jonlee@apple.com> 2 3 Update AVKit usage of pip 4 https://bugs.webkit.org/show_bug.cgi?id=146095 5 <rdar://problem/21386853> 6 7 Reviewed by Eric Carlson. 8 9 - Rename enum VideoFullscreenModeOptimized to VideoFullscreenModePictureInPicture 10 - Rename MediaElementSession::allowsAlternateFullscreen to allowsPictureInPicture 11 - Rename Settings::allowsAlternateFullscreen to allowsPictureInPictureMediaPlayback 12 - Update AVKit calls and AVKitSPI.h 13 - Rename WebVideoFullscreenInterfaceAVKit delegate functions and member variables 14 15 * html/HTMLMediaElement.cpp: 16 * html/HTMLVideoElement.cpp: 17 * html/MediaElementSession.cpp: 18 (WebCore::MediaElementSession::allowsPictureInPicture): Renamed. 19 (WebCore::MediaElementSession::allowsAlternateFullscreen): Deleted. 20 * html/MediaElementSession.h: 21 * page/Settings.cpp: 22 * page/Settings.in: 23 * platform/graphics/MediaPlayerEnums.h: 24 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: 25 * platform/ios/WebVideoFullscreenControllerAVKit.mm: 26 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove unused setIsOptimized. 27 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: 28 * platform/spi/cocoa/AVKitSPI.h: Remove unused typedef. 29 * platform/spi/mac/AVFoundationSPI.h: 30 1 31 2015-06-18 Jeremy Jones <jeremyj@apple.com> 2 32 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r185514 r185727 6213 6213 if (m_videoFullscreenMode == VideoFullscreenModeStandard) 6214 6214 return PlatformMediaSession::Fullscreen; 6215 if (m_videoFullscreenMode & VideoFullscreenMode Optimized)6215 if (m_videoFullscreenMode & VideoFullscreenModePictureInPicture) 6216 6216 return PlatformMediaSession::Optimized; 6217 6217 if (m_videoFullscreenMode == VideoFullscreenModeNone) … … 6286 6286 return true; 6287 6287 #endif 6288 if (m_videoFullscreenMode & VideoFullscreenMode Optimized)6288 if (m_videoFullscreenMode & VideoFullscreenModePictureInPicture) 6289 6289 return true; 6290 6290 #if PLATFORM(IOS) -
trunk/Source/WebCore/html/HTMLVideoElement.cpp
r185446 r185727 370 370 371 371 if (mode == presentationModePictureInPicture()) 372 return wkIsOptimizedFullscreenSupported() && mediaSession().allows AlternateFullscreen(*this) && supportsFullscreen();372 return wkIsOptimizedFullscreenSupported() && mediaSession().allowsPictureInPicture(*this) && supportsFullscreen(); 373 373 374 374 if (mode == presentationModeInline()) … … 393 393 enterFullscreen(VideoFullscreenModeStandard); 394 394 else if (mode == presentationModePictureInPicture()) 395 enterFullscreen(VideoFullscreenMode Optimized);395 enterFullscreen(VideoFullscreenModePictureInPicture); 396 396 } 397 397 … … 403 403 return presentationModeFullscreen(); 404 404 405 if (mode & VideoFullscreenMode Optimized)405 if (mode & VideoFullscreenModePictureInPicture) 406 406 return presentationModePictureInPicture(); 407 407 -
trunk/Source/WebCore/html/MediaElementSession.cpp
r185223 r185727 380 380 } 381 381 382 bool MediaElementSession::allows AlternateFullscreen(const HTMLMediaElement& element) const382 bool MediaElementSession::allowsPictureInPicture(const HTMLMediaElement& element) const 383 383 { 384 384 Settings* settings = element.document().settings(); 385 return settings && settings->allows AlternateFullscreen();385 return settings && settings->allowsPictureInPictureMediaPlayback(); 386 386 } 387 387 -
trunk/Source/WebCore/html/MediaElementSession.h
r185120 r185727 70 70 71 71 bool requiresFullscreenForVideoPlayback(const HTMLMediaElement&) const; 72 WEBCORE_EXPORT bool allows AlternateFullscreen(const HTMLMediaElement&) const;72 WEBCORE_EXPORT bool allowsPictureInPicture(const HTMLMediaElement&) const; 73 73 MediaPlayer::Preload effectivePreloadForElement(const HTMLMediaElement&) const; 74 74 -
trunk/Source/WebCore/page/Settings.cpp
r185333 r185727 148 148 #endif 149 149 150 static const bool defaultAllows AlternateFullscreen= true;150 static const bool defaultAllowsPictureInPictureMediaPlayback = true; 151 151 152 152 static const double defaultIncrementalRenderingSuppressionTimeoutInSeconds = 5; -
trunk/Source/WebCore/page/Settings.in
r184813 r185727 129 129 audioPlaybackRequiresUserGesture initial=defaultAudioPlaybackRequiresUserGesture 130 130 allowsInlineMediaPlayback initial=defaultAllowsInlineMediaPlayback 131 allows AlternateFullscreen initial=defaultAllowsAlternateFullscreen131 allowsPictureInPictureMediaPlayback initial=defaultAllowsPictureInPictureMediaPlayback 132 132 passwordEchoEnabled initial=false 133 133 suppressesIncrementalRendering initial=false -
trunk/Source/WebCore/platform/graphics/MediaPlayerEnums.h
r184670 r185727 39 39 VideoFullscreenModeNone = 0, 40 40 VideoFullscreenModeStandard = 1 << 0, 41 VideoFullscreenMode Optimized= 1 << 1,41 VideoFullscreenModePictureInPicture = 1 << 1, 42 42 }; 43 43 typedef uint32_t VideoFullscreenMode; -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
r185580 r185727 694 694 [m_videoLayer setFrame:m_videoInlineLayer.get().bounds]; 695 695 } 696 if ([m_videoLayer respondsToSelector:@selector(set EnterOptimizedFullscreenModeEnabled:)])697 [m_videoLayer set EnterOptimizedFullscreenModeEnabled:(player()->fullscreenMode() & MediaPlayer::VideoFullscreenModeOptimized)];696 if ([m_videoLayer respondsToSelector:@selector(setPIPModeEnabled:)]) 697 [m_videoLayer setPIPModeEnabled:(player()->fullscreenMode() & MediaPlayer::VideoFullscreenModePictureInPicture)]; 698 698 #else 699 699 [m_videoLayer setFrame:CGRectMake(0, 0, defaultSize.width(), defaultSize.height())]; … … 1187 1187 void MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode(MediaPlayer::VideoFullscreenMode mode) 1188 1188 { 1189 if (m_videoLayer && [m_videoLayer respondsToSelector:@selector(set EnterOptimizedFullscreenModeEnabled:)])1190 [m_videoLayer set EnterOptimizedFullscreenModeEnabled:(mode & MediaPlayer::VideoFullscreenModeOptimized)];1189 if (m_videoLayer && [m_videoLayer respondsToSelector:@selector(setPIPModeEnabled:)]) 1190 [m_videoLayer setPIPModeEnabled:(mode & MediaPlayer::VideoFullscreenModePictureInPicture)]; 1191 1191 } 1192 1192 -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm
r185726 r185727 519 519 m_videoFullscreenLayer = [CALayer layer]; 520 520 521 bool allows AlternateFullscreen = m_videoElement->mediaSession().allowsAlternateFullscreen(*m_videoElement.get());521 bool allowsPictureInPicture = m_videoElement->mediaSession().allowsPictureInPicture(*m_videoElement.get()); 522 522 IntRect videoElementClientRect = m_videoElement->clientRect(); 523 523 524 dispatch_async(dispatch_get_main_queue(), [strongThis, this, videoElementClientRect, viewRef, mode, allows AlternateFullscreen] {525 m_interface->setupFullscreen(*m_videoFullscreenLayer.get(), videoElementClientRect, viewRef.get(), mode, allows AlternateFullscreen);524 dispatch_async(dispatch_get_main_queue(), [strongThis, this, videoElementClientRect, viewRef, mode, allowsPictureInPicture] { 525 m_interface->setupFullscreen(*m_videoFullscreenLayer.get(), videoElementClientRect, viewRef.get(), mode, allowsPictureInPicture); 526 526 }); 527 527 }); -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h
r184922 r185727 92 92 WEBCORE_EXPORT virtual void setExternalPlayback(bool enabled, ExternalPlaybackTargetType, WTF::String localizedDeviceName) override; 93 93 94 WEBCORE_EXPORT virtual void setupFullscreen(PlatformLayer&, const IntRect& initialRect, UIView *, HTMLMediaElementEnums::VideoFullscreenMode, bool allow OptimizedFullscreen);94 WEBCORE_EXPORT virtual void setupFullscreen(PlatformLayer&, const IntRect& initialRect, UIView *, HTMLMediaElementEnums::VideoFullscreenMode, bool allowsPictureInPicturePlayback); 95 95 WEBCORE_EXPORT virtual void enterFullscreen(); 96 96 WEBCORE_EXPORT virtual void exitFullscreen(const IntRect& finalRect); … … 101 101 102 102 HTMLMediaElementEnums::VideoFullscreenMode mode() const { return m_mode; } 103 bool allowOptimizedFullscreen() const { return m_allowOptimizedFullscreen; } 104 void setIsOptimized(bool); 105 WEBCORE_EXPORT bool mayAutomaticallyShowVideoOptimized() const; 103 bool allowsPictureInPicturePlayback() const { return m_allowsPictureInPicturePlayback; } 104 WEBCORE_EXPORT bool mayAutomaticallyShowVideoPictureInPicture() const; 106 105 void fullscreenMayReturnToInline(std::function<void(bool)> callback); 107 106 108 void willStart OptimizedFullscreen();109 void didStart OptimizedFullscreen();110 void failedToStart OptimizedFullscreen();111 void willStop OptimizedFullscreen();112 void didStop OptimizedFullscreen();113 void prepareFor OptimizedFullscreenStopWithCompletionHandler(void (^)(BOOL));107 void willStartPictureInPicture(); 108 void didStartPictureInPicture(); 109 void failedToStartPictureInPicture(); 110 void willStopPictureInPicture(); 111 void didStopPictureInPicture(); 112 void prepareForPictureInPictureStopWithCompletionHandler(void (^)(BOOL)); 114 113 115 114 void setMode(HTMLMediaElementEnums::VideoFullscreenMode); … … 121 120 WEBCORE_EXPORT WebVideoFullscreenInterfaceAVKit(); 122 121 void beginSession(); 123 void enter FullscreenOptimized();122 void enterPictureInPicture(); 124 123 void enterFullscreenStandard(); 125 124 … … 139 138 HTMLMediaElementEnums::VideoFullscreenMode m_mode { HTMLMediaElementEnums::VideoFullscreenModeNone }; 140 139 std::function<void(bool)> m_prepareToInlineCallback; 141 bool m_allow OptimizedFullscreen{ false };140 bool m_allowsPictureInPicturePlayback { false }; 142 141 bool m_exitRequested { false }; 143 142 bool m_exitCompleted { false }; -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm
r184922 r185727 192 192 } 193 193 194 - (void)playerViewControllerWillStart OptimizedFullscreen:(AVPlayerViewController *)playerViewController194 - (void)playerViewControllerWillStartPictureInPicture:(AVPlayerViewController *)playerViewController 195 195 { 196 196 UNUSED_PARAM(playerViewController); 197 self.fullscreenInterface->willStart OptimizedFullscreen();198 } 199 200 - (void)playerViewControllerDidStart OptimizedFullscreen:(AVPlayerViewController *)playerViewController197 self.fullscreenInterface->willStartPictureInPicture(); 198 } 199 200 - (void)playerViewControllerDidStartPictureInPicture:(AVPlayerViewController *)playerViewController 201 201 { 202 202 UNUSED_PARAM(playerViewController); 203 self.fullscreenInterface->didStart OptimizedFullscreen();204 } 205 206 - (void)playerViewControllerFailedToStart OptimizedFullscreen:(AVPlayerViewController *)playerViewController withError:(NSError *)error203 self.fullscreenInterface->didStartPictureInPicture(); 204 } 205 206 - (void)playerViewControllerFailedToStartPictureInPicture:(AVPlayerViewController *)playerViewController withError:(NSError *)error 207 207 { 208 208 UNUSED_PARAM(playerViewController); 209 209 UNUSED_PARAM(error); 210 self.fullscreenInterface->failedToStart OptimizedFullscreen();211 } 212 213 - (void)playerViewControllerWillStop OptimizedFullscreen:(AVPlayerViewController *)playerViewController210 self.fullscreenInterface->failedToStartPictureInPicture(); 211 } 212 213 - (void)playerViewControllerWillStopPictureInPicture:(AVPlayerViewController *)playerViewController 214 214 { 215 215 UNUSED_PARAM(playerViewController); 216 self.fullscreenInterface->willStop OptimizedFullscreen();217 } 218 219 - (void)playerViewControllerDidStop OptimizedFullscreen:(AVPlayerViewController *)playerViewController216 self.fullscreenInterface->willStopPictureInPicture(); 217 } 218 219 - (void)playerViewControllerDidStopPictureInPicture:(AVPlayerViewController *)playerViewController 220 220 { 221 221 UNUSED_PARAM(playerViewController); 222 self.fullscreenInterface->didStop OptimizedFullscreen();222 self.fullscreenInterface->didStopPictureInPicture(); 223 223 } 224 224 … … 237 237 } 238 238 239 - (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceFor OptimizedFullscreenStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler239 - (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler 240 240 { 241 241 UNUSED_PARAM(playerViewController); 242 self.fullscreenInterface->prepareFor OptimizedFullscreenStopWithCompletionHandler(completionHandler);242 self.fullscreenInterface->prepareForPictureInPictureStopWithCompletionHandler(completionHandler); 243 243 } 244 244 … … 548 548 } 549 549 550 - (BOOL)is OptimizedFullscreenPossible551 { 552 return self.fullscreenInterface->allow OptimizedFullscreen();550 - (BOOL)isPictureInPicturePossible 551 { 552 return self.fullscreenInterface->allowsPictureInPicturePlayback(); 553 553 } 554 554 @end … … 877 877 } 878 878 879 void WebVideoFullscreenInterfaceAVKit::setupFullscreen(PlatformLayer& videoLayer, const WebCore::IntRect& initialRect, UIView* parentView, HTMLMediaElementEnums::VideoFullscreenMode mode, bool allow OptimizedFullscreen)879 void WebVideoFullscreenInterfaceAVKit::setupFullscreen(PlatformLayer& videoLayer, const WebCore::IntRect& initialRect, UIView* parentView, HTMLMediaElementEnums::VideoFullscreenMode mode, bool allowsPictureInPicturePlayback) 880 880 { 881 881 ASSERT(mode != HTMLMediaElementEnums::VideoFullscreenModeNone); 882 882 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::setupFullscreen(%p)", this); 883 883 884 m_allow OptimizedFullscreen = allowOptimizedFullscreen;884 m_allowsPictureInPicturePlayback = allowsPictureInPicturePlayback; 885 885 886 886 [CATransaction begin]; … … 920 920 [m_playerViewController setPlayerController:(AVPlayerController *)m_playerController.get()]; 921 921 [m_playerViewController setDelegate:m_playerController.get()]; 922 [m_playerViewController setAllows OptimizedFullscreen:allowOptimizedFullscreen];922 [m_playerViewController setAllowsPictureInPicturePlayback:m_allowsPictureInPicturePlayback]; 923 923 924 924 [m_videoLayerContainer setPlayerViewController:m_playerViewController.get()]; … … 952 952 953 953 [m_videoLayerContainer setBackgroundColor:[[getUIColorClass() blackColor] CGColor]]; 954 if (mode() == HTMLMediaElementEnums::VideoFullscreenMode Optimized)955 enter FullscreenOptimized();954 if (mode() == HTMLMediaElementEnums::VideoFullscreenModePictureInPicture) 955 enterPictureInPicture(); 956 956 else if (mode() == HTMLMediaElementEnums::VideoFullscreenModeStandard) 957 957 enterFullscreenStandard(); … … 960 960 } 961 961 962 void WebVideoFullscreenInterfaceAVKit::enter FullscreenOptimized()963 { 964 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::enter FullscreenOptimized(%p)", this);965 966 if ([m_playerViewController is OptimizedFullscreenPossible])967 [m_playerViewController start OptimizedFullscreen];962 void WebVideoFullscreenInterfaceAVKit::enterPictureInPicture() 963 { 964 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::enterPictureInPicture(%p)", this); 965 966 if ([m_playerViewController isPictureInPicturePossible]) 967 [m_playerViewController startPictureInPicture]; 968 968 else 969 failedToStart OptimizedFullscreen();969 failedToStartPictureInPicture(); 970 970 } 971 971 … … 1005 1005 1006 1006 1007 if (isMode(HTMLMediaElementEnums::VideoFullscreenMode Optimized)) {1007 if (isMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)) { 1008 1008 [m_window setHidden:NO]; 1009 [m_playerViewController stop OptimizedFullscreen];1010 } else if (isMode(HTMLMediaElementEnums::VideoFullscreenMode Optimized| HTMLMediaElementEnums::VideoFullscreenModeStandard)) {1009 [m_playerViewController stopPictureInPicture]; 1010 } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture | HTMLMediaElementEnums::VideoFullscreenModeStandard)) { 1011 1011 RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this); 1012 1012 [m_playerViewController exitFullScreenAnimated:NO completionHandler:[strongThis, this] (BOOL, NSError*) { 1013 1013 [m_window setHidden:NO]; 1014 [m_playerViewController stop OptimizedFullscreen];1014 [m_playerViewController stopPictureInPicture]; 1015 1015 }]; 1016 1016 } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModeStandard)) { … … 1055 1055 [m_playerViewController setPlayerController:nil]; 1056 1056 1057 if (hasMode(HTMLMediaElementEnums::VideoFullscreenMode Optimized))1058 [m_playerViewController stop OptimizedFullscreen];1057 if (hasMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)) 1058 [m_playerViewController stopPictureInPicture]; 1059 1059 if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard)) 1060 1060 [m_playerViewController exitFullScreenAnimated:NO completionHandler:[] (BOOL, NSError *) { }]; … … 1100 1100 return; 1101 1101 1102 if (hasMode(HTMLMediaElementEnums::VideoFullscreenMode Optimized))1102 if (hasMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)) 1103 1103 return; 1104 1104 … … 1128 1128 } 1129 1129 1130 bool WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideo Optimized() const1130 bool WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture() const 1131 1131 { 1132 1132 return [m_playerController isPlaying] && m_mode == HTMLMediaElementEnums::VideoFullscreenModeStandard && wkIsOptimizedFullscreenSupported(); … … 1140 1140 } 1141 1141 1142 void WebVideoFullscreenInterfaceAVKit::willStart OptimizedFullscreen()1143 { 1144 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::willStart OptimizedFullscreen(%p)", this);1145 setMode(HTMLMediaElementEnums::VideoFullscreenMode Optimized);1142 void WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture() 1143 { 1144 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture(%p)", this); 1145 setMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture); 1146 1146 1147 1147 if (!hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard)) … … 1150 1150 RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this); 1151 1151 fullscreenMayReturnToInline([strongThis, this](bool visible) { 1152 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::willStart OptimizedFullscreen- lambda(%p) - visible(%s)", this, boolString(visible));1152 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture - lambda(%p) - visible(%s)", this, boolString(visible)); 1153 1153 1154 1154 if (!visible) { … … 1168 1168 } 1169 1169 1170 void WebVideoFullscreenInterfaceAVKit::didStart OptimizedFullscreen()1171 { 1172 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::didStart OptimizedFullscreen(%p)", this);1170 void WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture() 1171 { 1172 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture(%p)", this); 1173 1173 [m_playerViewController setShowsPlaybackControls:YES]; 1174 1174 [m_window setHidden:YES]; … … 1178 1178 } 1179 1179 1180 void WebVideoFullscreenInterfaceAVKit::failedToStart OptimizedFullscreen()1181 { 1182 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::failedToStart OptimizedFullscreen(%p)", this);1180 void WebVideoFullscreenInterfaceAVKit::failedToStartPictureInPicture() 1181 { 1182 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::failedToStartPictureInPicture(%p)", this); 1183 1183 [m_playerViewController setShowsPlaybackControls:YES]; 1184 1184 … … 1195 1195 } 1196 1196 1197 void WebVideoFullscreenInterfaceAVKit::willStop OptimizedFullscreen()1198 { 1199 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::willStop OptimizedFullscreen(%p)", this);1197 void WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture() 1198 { 1199 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture(%p)", this); 1200 1200 [m_window setHidden:NO]; 1201 1201 … … 1204 1204 } 1205 1205 1206 void WebVideoFullscreenInterfaceAVKit::didStop OptimizedFullscreen()1207 { 1208 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::didStop OptimizedFullscreen(%p)", this);1206 void WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture() 1207 { 1208 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture(%p)", this); 1209 1209 if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard)) 1210 1210 return; … … 1215 1215 [[m_playerViewController view] setBackgroundColor:[getUIColorClass() clearColor]]; 1216 1216 1217 clearMode(HTMLMediaElementEnums::VideoFullscreenMode Optimized);1217 clearMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture); 1218 1218 [m_window setHidden:YES]; 1219 1219 … … 1222 1222 } 1223 1223 1224 void WebVideoFullscreenInterfaceAVKit::prepareFor OptimizedFullscreenStopWithCompletionHandler(void (^completionHandler)(BOOL restored))1225 { 1226 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::prepareFor OptimizedFullscreenStopWithCompletionHandler(%p)", this);1224 void WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler(void (^completionHandler)(BOOL restored)) 1225 { 1226 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler(%p)", this); 1227 1227 RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this); 1228 1228 RetainPtr<id> strongCompletionHandler = adoptNS([completionHandler copy]); 1229 1229 fullscreenMayReturnToInline([strongThis, strongCompletionHandler](bool restored) { 1230 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::prepareFor OptimizedFullscreenStopWithCompletionHandler lambda(%p) - restored(%s)", strongThis.get(), boolString(restored));1230 LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler lambda(%p) - restored(%s)", strongThis.get(), boolString(restored)); 1231 1231 void (^completionHandler)(BOOL restored) = strongCompletionHandler.get(); 1232 1232 completionHandler(restored); -
trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h
r184907 r185727 79 79 }; 80 80 - (BOOL)playerViewController:(AVPlayerViewController *)playerViewController shouldExitFullScreenWithReason:(AVPlayerViewControllerExitFullScreenReason)reason; 81 - (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceFor OptimizedFullscreenStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler;81 - (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler; 82 82 @end 83 84 typedef NSInteger AVPlayerViewControllerOptimizedFullscreenStopReason;85 83 86 84 @interface AVPlayerViewController (Details) … … 89 87 - (void)exitFullScreenAnimated:(BOOL)animated completionHandler:(void (^)(BOOL success, NSError *))completionHandler; 90 88 91 - (BOOL)is OptimizedFullscreenPossible;92 - (void)start OptimizedFullscreen;93 - (void)stop OptimizedFullscreen;94 - (void)setAllows OptimizedFullscreen:(BOOL)allowsOptimizedFullscreen;89 - (BOOL)isPictureInPicturePossible; 90 - (void)startPictureInPicture; 91 - (void)stopPictureInPicture; 92 - (void)setAllowsPictureInPicturePlayback:(BOOL)allow; 95 93 96 94 @property (nonatomic, strong) AVPlayerController *playerController; -
trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h
r185153 r185727 67 67 #if !HAVE(AVKIT) || !USE(APPLE_INTERNAL_SDK) || __IPHONE_OS_VERSION_MIN_REQUIRED < 90000 68 68 69 @interface AVPlayerLayer (AVPlayerLayer OptimizedFullscreenModeSupportPrivate)70 - (void)set EnterOptimizedFullscreenModeEnabled:(BOOL)flag;69 @interface AVPlayerLayer (AVPlayerLayerPictureInPictureModeSupportPrivate) 70 - (void)setPIPModeEnabled:(BOOL)flag; 71 71 @end 72 72 -
trunk/Source/WebKit/mac/ChangeLog
r185721 r185727 1 2015-06-18 Jon Lee <jonlee@apple.com> 2 3 Update AVKit usage of pip 4 https://bugs.webkit.org/show_bug.cgi?id=146095 5 <rdar://problem/21386853> 6 7 Reviewed by Eric Carlson. 8 9 - Rename preference key 10 - Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback 11 12 * WebCoreSupport/WebSystemInterface.mm: 13 * WebView/WebPreferenceKeysPrivate.h: 14 * WebView/WebPreferences.mm: 15 (-[WebPreferences allowsAlternateFullscreen]): Call allowsPictureInPictureMediaPlayback. 16 (-[WebPreferences setAllowsAlternateFullscreen:]): 17 (-[WebPreferences allowsPictureInPictureMediaPlayback]): Added. 18 (-[WebPreferences setAllowsPictureInPictureMediaPlayback:]): 19 * WebView/WebPreferencesPrivate.h: 20 * WebView/WebView.mm: 21 1 22 2015-06-18 Anders Carlsson <andersca@apple.com> 2 23 -
trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r184946 r185727 122 122 #define WebKitRequiresUserGestureForMediaPlaybackPreferenceKey @"WebKitMediaPlaybackRequiresUserGesture" 123 123 #define WebKitAllowsInlineMediaPlaybackPreferenceKey @"WebKitMediaPlaybackAllowsInline" 124 #define WebKitAllows AlternateFullscreenPreferenceKey @"WebKitAllowsAlternateFullscreen"124 #define WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey @"WebKitAllowsPictureInPictureMediaPlayback" 125 125 #define WebKitAllowsAirPlayForMediaPlaybackPreferenceKey @"WebKitMediaPlaybackAllowsAirPlay" 126 126 #define WebKitMockScrollbarsEnabledPreferenceKey @"WebKitMockScrollbarsEnabled" -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r185308 r185727 547 547 [NSNumber numberWithBool:YES], WebKitAllowsAirPlayForMediaPlaybackPreferenceKey, 548 548 #endif 549 [NSNumber numberWithBool:YES], WebKitAllows AlternateFullscreenPreferenceKey,549 [NSNumber numberWithBool:YES], WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey, 550 550 [NSNumber numberWithBool:YES], WebKitRequestAnimationFrameEnabledPreferenceKey, 551 551 [NSNumber numberWithBool:NO], WebKitWantsBalancedSetDefersLoadingBehaviorKey, … … 2198 2198 - (BOOL)allowsAlternateFullscreen 2199 2199 { 2200 return [self _boolValueForKey:WebKitAllowsAlternateFullscreenPreferenceKey];2200 return [self allowsPictureInPictureMediaPlayback]; 2201 2201 } 2202 2202 2203 2203 - (void)setAllowsAlternateFullscreen:(BOOL)flag 2204 2204 { 2205 [self _setBoolValue:flag forKey:WebKitAllowsAlternateFullscreenPreferenceKey]; 2205 [self setAllowsPictureInPictureMediaPlayback:flag]; 2206 } 2207 2208 - (BOOL)allowsPictureInPictureMediaPlayback 2209 { 2210 return [self _boolValueForKey:WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey]; 2211 } 2212 2213 - (void)setAllowsPictureInPictureMediaPlayback:(BOOL)flag 2214 { 2215 [self _setBoolValue:flag forKey:WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey]; 2206 2216 } 2207 2217 -
trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
r183682 r185727 254 254 - (BOOL)allowsAlternateFullscreen; 255 255 256 - (void)setAllowsPictureInPictureMediaPlayback:(BOOL)flag; 257 - (BOOL)allowsPictureInPictureMediaPlayback; 258 256 259 - (NSString *)pictographFontFamily; 257 260 - (void)setPictographFontFamily:(NSString *)family; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r185487 r185727 852 852 } 853 853 854 static bool shouldAllow AlternateFullscreen()854 static bool shouldAllowPictureInPictureMediaPlayback() 855 855 { 856 856 #if PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000 857 static bool shouldAllow AlternateFullscreen= iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0);858 return shouldAllow AlternateFullscreen;857 static bool shouldAllowPictureInPictureMediaPlayback = iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0); 858 return shouldAllowPictureInPictureMediaPlayback; 859 859 #else 860 860 return false; … … 2295 2295 settings.setRequiresUserGestureForMediaPlayback([preferences mediaPlaybackRequiresUserGesture]); 2296 2296 settings.setAllowsInlineMediaPlayback([preferences mediaPlaybackAllowsInline]); 2297 settings.setAllows AlternateFullscreen([preferences allowsAlternateFullscreen] && shouldAllowAlternateFullscreen());2297 settings.setAllowsPictureInPictureMediaPlayback([preferences allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback()); 2298 2298 settings.setSuppressesIncrementalRendering([preferences suppressesIncrementalRendering]); 2299 2299 settings.setBackspaceKeyNavigationEnabled([preferences backspaceKeyNavigationEnabled]); -
trunk/Source/WebKit2/ChangeLog
r185726 r185727 1 2015-06-18 Jon Lee <jonlee@apple.com> 2 3 Update AVKit usage of pip 4 https://bugs.webkit.org/show_bug.cgi?id=146095 5 <rdar://problem/21386853> 6 7 Reviewed by Eric Carlson. 8 9 - Rename preference key 10 - Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback 11 12 * Shared/WebPreferencesDefinitions.h: 13 * UIProcess/API/C/WKPreferences.cpp: Remove unused preference calls. 14 (WKPreferencesSetAllowsAlternateFullscreen): Deleted. 15 (WKPreferencesGetAllowsAlternateFullscreen): Deleted. 16 * UIProcess/API/C/WKPreferencesRefPrivate.h: 17 * UIProcess/API/Cocoa/WKWebView.mm: 18 (-[WKWebView _isShowingVideoPictureInPicture]): Renamed. 19 (-[WKWebView _isShowingVideoOptimized]): Deleted. 20 (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): Renamed. 21 (-[WKWebView _mayAutomaticallyShowVideoOptimized]): Deleted. 22 (shouldAllowPictureInPictureMediaPlayback): Renamed. 23 (shouldAllowAlternateFullscreen): Deleted. 24 * UIProcess/API/Cocoa/WKWebViewInternal.h: 25 * UIProcess/ios/PageClientImplIOS.mm: 26 * UIProcess/ios/WebVideoFullscreenManagerProxy.h: Rename local variables. 27 * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: 28 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: 29 (WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture): Renamed. 30 (WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoOptimized): Deleted. 31 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 32 * WebProcess/WebPage/WebPage.cpp: 33 * WebProcess/ios/WebVideoFullscreenManager.mm: 34 1 35 2015-06-18 Jeremy Jones <jeremyj@apple.com> 2 36 -
trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h
r184813 r185727 131 131 macro(RequiresUserGestureForMediaPlayback, requiresUserGestureForMediaPlayback, Bool, bool, DEFAULT_REQUIRES_USER_GESTURE_FOR_MEDIA_PLAYBACK) \ 132 132 macro(AllowsInlineMediaPlayback, allowsInlineMediaPlayback, Bool, bool, DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK) \ 133 macro(Allows AlternateFullscreen, allowsAlternateFullscreen, Bool, bool, true) \133 macro(AllowsPictureInPictureMediaPlayback, allowsPictureInPictureMediaPlayback, Bool, bool, true) \ 134 134 macro(AllowsAirPlayForMediaPlayback, allowsAirPlayForMediaPlayback, Bool, bool, true) \ 135 135 macro(InspectorStartsAttached, inspectorStartsAttached, Bool, bool, true) \ -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
r185016 r185727 749 749 } 750 750 751 void WKPreferencesSetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef, bool flag)752 {753 toImpl(preferencesRef)->setAllowsAlternateFullscreen(flag);754 }755 756 bool WKPreferencesGetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef)757 {758 return toImpl(preferencesRef)->allowsAlternateFullscreen();759 }760 761 751 void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag) 762 752 { -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h
r184231 r185727 180 180 WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef); 181 181 182 // Defaults to true.183 WK_EXPORT void WKPreferencesSetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef, bool flag);184 WK_EXPORT bool WKPreferencesGetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef);185 186 182 // Defaults to false. 187 183 WK_EXPORT void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag); -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
r185576 r185727 243 243 } 244 244 245 - (BOOL)_isShowingVideo Optimized245 - (BOOL)_isShowingVideoPictureInPicture 246 246 { 247 247 if (!_page || !_page->videoFullscreenManager()) 248 248 return false; 249 249 250 return _page->videoFullscreenManager()->hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenMode Optimized);251 } 252 253 - (BOOL)_mayAutomaticallyShowVideo Optimized250 return _page->videoFullscreenManager()->hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenModePictureInPicture); 251 } 252 253 - (BOOL)_mayAutomaticallyShowVideoPictureInPicture 254 254 { 255 255 #if (__IPHONE_OS_VERSION_MIN_REQUIRED <= 80200) || !HAVE(AVKIT) … … 259 259 return false; 260 260 261 return _page->videoFullscreenManager()->mayAutomaticallyShowVideo Optimized();262 #endif 263 } 264 265 static bool shouldAllow AlternateFullscreen()261 return _page->videoFullscreenManager()->mayAutomaticallyShowVideoPictureInPicture(); 262 #endif 263 } 264 265 static bool shouldAllowPictureInPictureMediaPlayback() 266 266 { 267 267 #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000 268 static bool shouldAllow AlternateFullscreen= iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0);269 return shouldAllow AlternateFullscreen;268 static bool shouldAllowPictureInPictureMediaPlayback = iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0); 269 return shouldAllowPictureInPictureMediaPlayback; 270 270 #else 271 271 return false; … … 324 324 325 325 webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsInlineMediaPlayback])); 326 webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allows AlternateFullscreenKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] && shouldAllowAlternateFullscreen()));326 webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback())); 327 327 webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::requiresUserGestureForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration requiresUserActionForMediaPlayback])); 328 328 #endif -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h
r182260 r185727 99 99 - (void)_didSameDocumentNavigationForMainFrame:(WebKit::SameDocumentNavigationType)navigationType; 100 100 101 - (BOOL)_isShowingVideo Optimized;102 - (BOOL)_mayAutomaticallyShowVideo Optimized;101 - (BOOL)_isShowingVideoPictureInPicture; 102 - (BOOL)_mayAutomaticallyShowVideoPictureInPicture; 103 103 104 104 - (void)_updateScrollViewBackground; -
trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm
r183517 r185727 186 186 return true; 187 187 188 if ([m_webView _isShowingVideo Optimized])188 if ([m_webView _isShowingVideoPictureInPicture]) 189 189 return true; 190 190 191 if ([m_webView _mayAutomaticallyShowVideo Optimized])191 if ([m_webView _mayAutomaticallyShowVideoPictureInPicture]) 192 192 return true; 193 193 -
trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h
r184670 r185727 109 109 void requestHideAndExitFullscreen(); 110 110 bool hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenMode) const; 111 bool mayAutomaticallyShowVideo Optimized() const;111 bool mayAutomaticallyShowVideoPictureInPicture() const; 112 112 113 113 private: … … 124 124 125 125 // Messages from WebVideoFullscreenManager 126 void setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect& initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode, bool allow OptimizedFullscreen);126 void setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect& initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode, bool allowsPictureInPicture); 127 127 void resetMediaState(uint64_t contextId); 128 128 void setCurrentTime(uint64_t contextId, double currentTime, double hostTime); -
trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in
r184670 r185727 34 34 SetDuration(uint64_t contextId, double duration) 35 35 SetRate(uint64_t contextId, bool isPlaying, double rate) 36 SetupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, WebCore::IntRect initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allow OptimizedFullscreen)36 SetupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, WebCore::IntRect initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allowsPictureInPicture) 37 37 EnterFullscreen(uint64_t contextId) 38 38 ExitFullscreen(uint64_t contextId, WebCore::IntRect finalRect) -
trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm
r184670 r185727 63 63 } 64 64 65 bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideo Optimized() const65 bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture() const 66 66 { 67 67 return false; … … 267 267 } 268 268 269 bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideo Optimized() const269 bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture() const 270 270 { 271 271 for (auto& tuple : m_contextMap.values()) { 272 if (std::get<1>(tuple)->mayAutomaticallyShowVideo Optimized())272 if (std::get<1>(tuple)->mayAutomaticallyShowVideoPictureInPicture()) 273 273 return true; 274 274 } … … 307 307 #pragma mark Messages from WebVideoFullscreenManager 308 308 309 void WebVideoFullscreenManagerProxy::setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect& initialRect, float hostingDeviceScaleFactor, HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allow OptimizedFullscreen)309 void WebVideoFullscreenManagerProxy::setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect& initialRect, float hostingDeviceScaleFactor, HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allowsPictureInPicture) 310 310 { 311 311 ASSERT(videoLayerID); … … 324 324 325 325 UIView *parentView = downcast<RemoteLayerTreeDrawingAreaProxy>(*m_page->drawingArea()).remoteLayerTreeHost().rootLayer(); 326 interface->setupFullscreen(*model->layerHost(), initialRect, parentView, videoFullscreenMode, allow OptimizedFullscreen);326 interface->setupFullscreen(*model->layerHost(), initialRect, parentView, videoFullscreenMode, allowsPictureInPicture); 327 327 } 328 328 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r185661 r185727 2800 2800 settings.setRequiresUserGestureForMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForMediaPlaybackKey())); 2801 2801 settings.setAllowsInlineMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackKey())); 2802 settings.setAllows AlternateFullscreen(store.getBoolValueForKey(WebPreferencesKey::allowsAlternateFullscreenKey()));2802 settings.setAllowsPictureInPictureMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey())); 2803 2803 settings.setMockScrollbarsEnabled(store.getBoolValueForKey(WebPreferencesKey::mockScrollbarsEnabledKey())); 2804 2804 settings.setHyperlinkAuditingEnabled(store.getBoolValueForKey(WebPreferencesKey::hyperlinkAuditingEnabledKey())); -
trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm
r185726 r185727 241 241 interface->setIsAnimating(true); 242 242 243 bool allow OptimizedFullscreen = videoElement.mediaSession().allowsAlternateFullscreen(videoElement);244 245 m_page->send(Messages::WebVideoFullscreenManagerProxy::SetupFullscreenWithID(contextId, interface->layerHostingContext()->contextID(), clientRectForElement(&videoElement), m_page->deviceScaleFactor(), interface->fullscreenMode(), allow OptimizedFullscreen), m_page->pageID());243 bool allowsPictureInPicture = videoElement.mediaSession().allowsPictureInPicture(videoElement); 244 245 m_page->send(Messages::WebVideoFullscreenManagerProxy::SetupFullscreenWithID(contextId, interface->layerHostingContext()->contextID(), clientRectForElement(&videoElement), m_page->deviceScaleFactor(), interface->fullscreenMode(), allowsPictureInPicture), m_page->pageID()); 246 246 } 247 247
Note:
See TracChangeset
for help on using the changeset viewer.