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()