Title: [179222] branches/safari-600.1.4.15-branch/Source/WebKit2

Diff

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/ChangeLog (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/ChangeLog	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/ChangeLog	2015-01-27 22:49:55 UTC (rev 179222)
@@ -1,5 +1,37 @@
 2015-01-27  Lucas Forschler  <[email protected]>
 
+        Merge r177612
+
+    2014-12-19  Chris Dumez  <[email protected]>
+
+            [iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
+            https://bugs.webkit.org/show_bug.cgi?id=139835
+            <rdar://problem/19312042>
+
+            Reviewed by Anders Carlsson.
+
+            Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
+            so that they can be implemented in MobileSafari.
+
+            * UIProcess/API/APIUIClient.h:
+            (API::UIClient::didEnterFullscreen):
+            (API::UIClient::didExitFullscreen):
+            * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+            * UIProcess/Cocoa/UIDelegate.h:
+            * UIProcess/Cocoa/UIDelegate.mm:
+            (WebKit::UIDelegate::setDelegate):
+            (WebKit::UIDelegate::UIClient::didEnterFullscreen):
+            (WebKit::UIDelegate::UIClient::didExitFullscreen):
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::didEnterFullscreen):
+            (WebKit::WebPageProxy::didExitFullscreen):
+            * UIProcess/WebPageProxy.h:
+            * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
+            (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
+            (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):
+
+2015-01-27  Lucas Forschler  <[email protected]>
+
         Merge r177531
 
     2014-12-18  Chris Dumez  <[email protected]>

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/API/APIUIClient.h (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/API/APIUIClient.h	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/API/APIUIClient.h	2015-01-27 22:49:55 UTC (rev 179222)
@@ -70,6 +70,8 @@
 
     virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, const WebKit::NavigationActionData&) { return nullptr; }
     virtual void showPage(WebKit::WebPageProxy*) { }
+    virtual void didEnterFullscreen(WebKit::WebPageProxy*) { }
+    virtual void didExitFullscreen(WebKit::WebPageProxy*) { }
     virtual void close(WebKit::WebPageProxy*) { }
 
     virtual void takeFocus(WebKit::WebPageProxy*, WKFocusDirection) { }

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2015-01-27 22:49:55 UTC (rev 179222)
@@ -45,6 +45,8 @@
 - (void)_webView:(WKWebView *)webView printFrame:(_WKFrameHandle *)frame;
 
 - (void)_webViewClose:(WKWebView *)webView;
+- (void)_webViewDidEnterFullscreen:(WKWebView *)webView WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
+- (void)_webViewDidExitFullscreen:(WKWebView *)webView WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
 
 #if TARGET_OS_IPHONE
 - (NSArray *)_webView:(WKWebView *)webView actionsForElement:(_WKActivatedElementInfo *)element defaultActions:(NSArray *)defaultActions;

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h	2015-01-27 22:49:55 UTC (rev 179222)
@@ -60,6 +60,8 @@
         // API::UIClient
         virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, const WebKit::NavigationActionData&) override;
         virtual void close(WebKit::WebPageProxy*) override;
+        virtual void didEnterFullscreen(WebKit::WebPageProxy*) override;
+        virtual void didExitFullscreen(WebKit::WebPageProxy*) override;
         virtual void runJavaScriptAlert(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, std::function<void ()> completionHandler) override;
         virtual void runJavaScriptConfirm(WebKit::WebPageProxy*, const WTF::String&, WebKit::WebFrameProxy*, std::function<void (bool)> completionHandler) override;
         virtual void runJavaScriptPrompt(WebKit::WebPageProxy*, const WTF::String&, const WTF::String&, WebKit::WebFrameProxy*, std::function<void (const WTF::String&)> completionHandler) override;
@@ -86,6 +88,8 @@
         bool webViewDecideWebApplicationCacheQuotaForSecurityOriginCurrentQuotaTotalBytesNeeded : 1;
         bool webViewPrintFrame : 1;
         bool webViewClose : 1;
+        bool webViewDidEnterFullscreen : 1;
+        bool webViewDidExitFullscreen : 1;
 #if PLATFORM(IOS)
         bool webViewActionsForElementDefaultActions : 1;
         bool webViewDidNotHandleTapAsClickAtPoint : 1;

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	2015-01-27 22:49:55 UTC (rev 179222)
@@ -72,6 +72,8 @@
     m_delegateMethods.webViewDecideWebApplicationCacheQuotaForSecurityOriginCurrentQuotaTotalBytesNeeded = [delegate respondsToSelector:@selector(_webView:decideWebApplicationCacheQuotaForSecurityOrigin:currentQuota:totalBytesNeeded:decisionHandler:)];
     m_delegateMethods.webViewPrintFrame = [delegate respondsToSelector:@selector(_webView:printFrame:)];
     m_delegateMethods.webViewClose = [delegate respondsToSelector:@selector(_webViewClose:)];
+    m_delegateMethods.webViewDidEnterFullscreen = [delegate respondsToSelector:@selector(_webViewDidEnterFullscreen:)];
+    m_delegateMethods.webViewDidExitFullscreen = [delegate respondsToSelector:@selector(_webViewDidExitFullscreen:)];
 #if PLATFORM(IOS)
     m_delegateMethods.webViewActionsForElementDefaultActions = [delegate respondsToSelector:@selector(_webView:actionsForElement:defaultActions:)];
     m_delegateMethods.webViewDidNotHandleTapAsClickAtPoint = [delegate respondsToSelector:@selector(_webView:didNotHandleTapAsClickAtPoint:)];
@@ -241,6 +243,30 @@
     [(id <WKUIDelegatePrivate>)delegate _webViewClose:m_uiDelegate.m_webView];
 }
 
+void UIDelegate::UIClient::didEnterFullscreen(WebKit::WebPageProxy*)
+{
+    if (!m_uiDelegate.m_delegateMethods.webViewDidEnterFullscreen)
+        return;
+
+    auto delegate = m_uiDelegate.m_delegate.get();
+    if (!delegate)
+        return;
+
+    [(id <WKUIDelegatePrivate>)delegate _webViewDidEnterFullscreen:m_uiDelegate.m_webView];
+}
+
+void UIDelegate::UIClient::didExitFullscreen(WebKit::WebPageProxy*)
+{
+    if (!m_uiDelegate.m_delegateMethods.webViewDidExitFullscreen)
+        return;
+
+    auto delegate = m_uiDelegate.m_delegate.get();
+    if (!delegate)
+        return;
+
+    [(id <WKUIDelegatePrivate>)delegate _webViewDidExitFullscreen:m_uiDelegate.m_webView];
+}
+    
 #if PLATFORM(IOS)
 RetainPtr<NSArray> UIDelegate::UIClient::actionsForElement(_WKActivatedElementInfo *elementInfo, RetainPtr<NSArray> defaultActions)
 {

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2015-01-27 22:49:55 UTC (rev 179222)
@@ -3023,6 +3023,16 @@
     m_uiClient->showPage(this);
 }
 
+void WebPageProxy::didEnterFullscreen()
+{
+    m_uiClient->didEnterFullscreen(this);
+}
+
+void WebPageProxy::didExitFullscreen()
+{
+    m_uiClient->didExitFullscreen(this);
+}
+
 void WebPageProxy::closePage(bool stopResponsivenessTimer)
 {
     if (stopResponsivenessTimer)

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/WebPageProxy.h (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/WebPageProxy.h	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/WebPageProxy.h	2015-01-27 22:49:55 UTC (rev 179222)
@@ -259,6 +259,9 @@
     bool addsVisitedLinks() const { return m_addsVisitedLinks; }
     void setAddsVisitedLinks(bool addsVisitedLinks) { m_addsVisitedLinks = addsVisitedLinks; }
 
+    void didEnterFullscreen();
+    void didExitFullscreen();
+
 #if ENABLE(INSPECTOR)
     WebInspectorProxy* inspector();
 #endif

Modified: branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm (179221 => 179222)


--- branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm	2015-01-27 22:41:47 UTC (rev 179221)
+++ branches/safari-600.1.4.15-branch/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm	2015-01-27 22:49:55 UTC (rev 179222)
@@ -126,6 +126,7 @@
 void WebVideoFullscreenManagerProxy::didExitFullscreen()
 {
     m_page->send(Messages::WebVideoFullscreenManager::DidExitFullscreen(), m_page->pageID());
+    m_page->didExitFullscreen();
 }
     
 void WebVideoFullscreenManagerProxy::didCleanupFullscreen()
@@ -143,6 +144,7 @@
 void WebVideoFullscreenManagerProxy::didEnterFullscreen()
 {
     m_page->send(Messages::WebVideoFullscreenManager::DidEnterFullscreen(), m_page->pageID());
+    m_page->didEnterFullscreen();
 }
 
 void WebVideoFullscreenManagerProxy::play()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to