Changeset 177154 in webkit
- Timestamp:
- Dec 11, 2014 9:51:25 AM (9 years ago)
- Location:
- trunk/Source
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r177153 r177154 1 2014-12-09 Jeremy Jones <jeremyj@apple.com> 2 3 Restore interface state when stopping optimized fullscreen. 4 https://bugs.webkit.org/show_bug.cgi?id=139465 5 6 Reviewed by Simon Fraser. 7 8 * platform/ios/WebVideoFullscreenControllerAVKit.mm: 9 (-[WebVideoFullscreenController fullscreenMayReturnToInline:]): add empty implementation. 10 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: add declaration 11 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: 12 (WebVideoFullscreenInterfaceAVKit::enterFullscreen): restore interface context when optimized mode ends. 13 (WebVideoFullscreenInterfaceAVKit::setIsOptimized): restore interface context when optimized mode ends. 14 1 15 2014-12-11 Anders Carlsson <andersca@apple.com> 2 16 -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm
r177081 r177154 73 73 - (void)didExitFullscreen; 74 74 - (void)didCleanupFullscreen; 75 - (void)fullscreenMayReturnToInline; 75 76 @end 76 77 … … 83 84 virtual void didExitFullscreen() override { [_target didExitFullscreen]; } 84 85 virtual void didCleanupFullscreen() override { [_target didCleanupFullscreen]; } 86 virtual void fullscreenMayReturnToInline() override { [_target fullscreenMayReturnToInline]; } 85 87 }; 86 88 … … 180 182 } 181 183 184 - (void)fullscreenMayReturnToInline 185 { 186 } 187 182 188 @end 183 189 -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h
r177039 r177154 60 60 virtual void didExitFullscreen() = 0; 61 61 virtual void didCleanupFullscreen() = 0; 62 virtual void fullscreenMayReturnToInline() = 0; 62 63 }; 63 64 -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm
r177081 r177154 908 908 } 909 909 }); 910 } stopCompletionHandler:^(AVPlayerViewControllerOptimizedFullscreenStopReason ) {910 } stopCompletionHandler:^(AVPlayerViewControllerOptimizedFullscreenStopReason reason) { 911 911 m_exitCompleted = true; 912 913 if (m_fullscreenChangeObserver && reason == AVPlayerViewControllerOptimizedFullscreenStopReasonStopped) 914 m_fullscreenChangeObserver->fullscreenMayReturnToInline(); 915 912 916 if (m_exitRequested) { 913 917 [m_videoLayerContainer setBackgroundColor:[[getUIColorClass() clearColor] CGColor]]; … … 1104 1108 [m_window setHidden:m_mode & HTMLMediaElement::VideoFullscreenModeOptimized]; 1105 1109 1110 if (m_fullscreenChangeObserver && ~m_mode & HTMLMediaElement::VideoFullscreenModeOptimized) 1111 m_fullscreenChangeObserver->fullscreenMayReturnToInline(); 1112 1106 1113 if (!m_exitRequested || active) 1107 1114 return; -
trunk/Source/WebKit2/ChangeLog
r177152 r177154 1 2014-12-09 Jeremy Jones <jeremyj@apple.com> 2 3 Restore interface state when stopping optimized fullscreen. 4 https://bugs.webkit.org/show_bug.cgi?id=139465 5 6 Reviewed by Simon Fraser. 7 8 Implement fullscreenMayReturnToInline() to request the client application show the corresponding tab. 9 10 * UIProcess/API/APIUIClient.h: 11 (API::UIClient::fullscreenMayReturnToInline): added 12 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: add declaration 13 * UIProcess/Cocoa/UIDelegate.h: add declaration 14 * UIProcess/Cocoa/UIDelegate.mm: 15 (WebKit::UIDelegate::setDelegate): check for responds to selector 16 (WebKit::UIDelegate::UIClient::fullscreenMayReturnToInline): added 17 * UIProcess/WebPageProxy.cpp: 18 (WebKit::WebPageProxy::fullscreenMayReturnToInline): added. 19 * UIProcess/WebPageProxy.h: add declaration 20 * UIProcess/ios/WebVideoFullscreenManagerProxy.h: add declaration 21 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: 22 (WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline): show the tab. 23 1 24 2014-12-11 Alexey Proskuryakov <ap@apple.com> 2 25 -
trunk/Source/WebKit2/UIProcess/API/APIUIClient.h
r176011 r177154 72 72 virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, const WebKit::NavigationActionData&) { return nullptr; } 73 73 virtual void showPage(WebKit::WebPageProxy*) { } 74 virtual void fullscreenMayReturnToInline(WebKit::WebPageProxy*) { } 74 75 virtual void close(WebKit::WebPageProxy*) { } 75 76 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
r176308 r177154 46 46 47 47 - (void)_webViewClose:(WKWebView *)webView; 48 - (void)_webViewFullscreenMayReturnToInline:(WKWebView *)webView; 48 49 49 50 #if TARGET_OS_IPHONE -
trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h
r173851 r177154 61 61 virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, const WebKit::NavigationActionData&) override; 62 62 virtual void close(WebKit::WebPageProxy*) override; 63 virtual void fullscreenMayReturnToInline(WebKit::WebPageProxy*) override; 63 64 virtual void runJavaScriptAlert(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, std::function<void ()> completionHandler) override; 64 65 virtual void runJavaScriptConfirm(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, std::function<void (bool)> completionHandler) override; … … 87 88 bool webViewPrintFrame : 1; 88 89 bool webViewClose : 1; 90 bool webViewFullscreenMayReturnToInline : 1; 89 91 #if PLATFORM(IOS) 90 92 bool webViewActionsForElementDefaultActions : 1; -
trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm
r173851 r177154 73 73 m_delegateMethods.webViewPrintFrame = [delegate respondsToSelector:@selector(_webView:printFrame:)]; 74 74 m_delegateMethods.webViewClose = [delegate respondsToSelector:@selector(_webViewClose:)]; 75 m_delegateMethods.webViewFullscreenMayReturnToInline = [delegate respondsToSelector:@selector(_webViewFullscreenMayReturnToInline:)]; 75 76 #if PLATFORM(IOS) 76 77 m_delegateMethods.webViewActionsForElementDefaultActions = [delegate respondsToSelector:@selector(_webView:actionsForElement:defaultActions:)]; … … 242 243 } 243 244 245 void UIDelegate::UIClient::fullscreenMayReturnToInline(WebKit::WebPageProxy*) 246 { 247 if (!m_uiDelegate.m_delegateMethods.webViewFullscreenMayReturnToInline) 248 return; 249 250 auto delegate = m_uiDelegate.m_delegate.get(); 251 if (!delegate) 252 return; 253 254 [(id <WKUIDelegatePrivate>)delegate _webViewFullscreenMayReturnToInline:m_uiDelegate.m_webView]; 255 } 256 244 257 #if PLATFORM(IOS) 245 258 RetainPtr<NSArray> UIDelegate::UIClient::actionsForElement(_WKActivatedElementInfo *elementInfo, RetainPtr<NSArray> defaultActions) -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r177152 r177154 3090 3090 } 3091 3091 3092 void WebPageProxy::fullscreenMayReturnToInline() 3093 { 3094 m_uiClient->fullscreenMayReturnToInline(this); 3095 } 3096 3092 3097 void WebPageProxy::closePage(bool stopResponsivenessTimer) 3093 3098 { -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r177123 r177154 269 269 void setAddsVisitedLinks(bool addsVisitedLinks) { m_addsVisitedLinks = addsVisitedLinks; } 270 270 271 void fullscreenMayReturnToInline(); 272 271 273 #if ENABLE(INSPECTOR) 272 274 WebInspectorProxy* inspector(); -
trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h
r177012 r177154 66 66 virtual void didExitFullscreen() override; 67 67 virtual void didCleanupFullscreen() override; 68 virtual void fullscreenMayReturnToInline() override; 68 69 69 70 // FullscreenModel -
trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm
r177081 r177154 129 129 } 130 130 131 void WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline() 132 { 133 m_page->fullscreenMayReturnToInline(); 134 } 135 131 136 void WebVideoFullscreenManagerProxy::requestExitFullscreen() 132 137 {
Note: See TracChangeset
for help on using the changeset viewer.