Diff
Modified: trunk/Source/WebKit2/ChangeLog (189108 => 189109)
--- trunk/Source/WebKit2/ChangeLog 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Source/WebKit2/ChangeLog 2015-08-28 18:37:50 UTC (rev 189109)
@@ -1,5 +1,25 @@
2015-08-28 Timothy Horton <[email protected]>
+ Add navigation gesture callbacks to WKPageNavigationClient
+ https://bugs.webkit.org/show_bug.cgi?id=148568
+ <rdar://problem/22371346>
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/APINavigationClient.h:
+ (API::NavigationClient::didBeginNavigationGesture):
+ (API::NavigationClient::willEndNavigationGesture):
+ (API::NavigationClient::didEndNavigationGesture):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageNavigationClient):
+ * UIProcess/API/C/WKPageNavigationClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::navigationGestureDidBegin):
+ (WebKit::WebPageProxy::navigationGestureWillEnd):
+ (WebKit::WebPageProxy::navigationGestureDidEnd):
+
+2015-08-28 Timothy Horton <[email protected]>
+
Get rid of the DynamicSizeWithMinimumViewSize layout mode
https://bugs.webkit.org/show_bug.cgi?id=148554
Modified: trunk/Source/WebKit2/UIProcess/API/APINavigationClient.h (189108 => 189109)
--- trunk/Source/WebKit2/UIProcess/API/APINavigationClient.h 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Source/WebKit2/UIProcess/API/APINavigationClient.h 2015-08-28 18:37:50 UTC (rev 189109)
@@ -107,6 +107,10 @@
return currentPluginLoadPolicy;
}
#endif
+
+ virtual void didBeginNavigationGesture(WebKit::WebPageProxy&) { }
+ virtual void willEndNavigationGesture(WebKit::WebPageProxy&, bool willNavigate, WebKit::WebBackForwardListItem&) { }
+ virtual void didEndNavigationGesture(WebKit::WebPageProxy&, bool willNavigate, WebKit::WebBackForwardListItem&) { }
};
} // namespace API
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (189108 => 189109)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp 2015-08-28 18:37:50 UTC (rev 189109)
@@ -2102,6 +2102,27 @@
return nullptr;
return adoptRef(toImpl(m_client.copyWebCryptoMasterKey(toAPI(&page), m_client.base.clientInfo)));
}
+
+ virtual void didBeginNavigationGesture(WebPageProxy& page) override
+ {
+ if (!m_client.didBeginNavigationGesture)
+ return;
+ m_client.didBeginNavigationGesture(toAPI(&page), m_client.base.clientInfo);
+ }
+
+ virtual void didEndNavigationGesture(WebPageProxy& page, bool willNavigate, WebKit::WebBackForwardListItem& item) override
+ {
+ if (!m_client.didEndNavigationGesture)
+ return;
+ m_client.didEndNavigationGesture(toAPI(&page), willNavigate ? toAPI(&item) : nullptr, m_client.base.clientInfo);
+ }
+
+ virtual void willEndNavigationGesture(WebPageProxy& page, bool willNavigate, WebKit::WebBackForwardListItem& item) override
+ {
+ if (!m_client.willEndNavigationGesture)
+ return;
+ m_client.willEndNavigationGesture(toAPI(&page), willNavigate ? toAPI(&item) : nullptr, m_client.base.clientInfo);
+ }
#if ENABLE(NETSCAPE_PLUGIN_API)
virtual PluginModuleLoadPolicy decidePolicyForPluginLoad(WebPageProxy& page, PluginModuleLoadPolicy currentPluginLoadPolicy, API::Dictionary* pluginInformation, String& unavailabilityDescription) override
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageNavigationClient.h (189108 => 189109)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPageNavigationClient.h 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageNavigationClient.h 2015-08-28 18:37:50 UTC (rev 189109)
@@ -69,6 +69,12 @@
typedef WKPluginLoadPolicy (*WKPageNavigationDecidePolicyForPluginLoadCallback)(WKPageRef page, WKPluginLoadPolicy currentPluginLoadPolicy, WKDictionaryRef pluginInfoDictionary, WKStringRef* unavailabilityDescription, const void* clientInfo);
+typedef void (*WKPageNavigationDidBeginNavigationGesture)(WKPageRef page, const void* clientInfo);
+
+typedef void (*WKPageNavigationWillEndNavigationGesture)(WKPageRef page, WKBackForwardListItemRef backForwardListItem, const void* clientInfo);
+
+typedef void (*WKPageNavigationDidEndNavigationGesture)(WKPageRef page, WKBackForwardListItemRef backForwardListItem, const void* clientInfo);
+
typedef struct WKPageNavigationClientBase {
int version;
const void* clientInfo;
@@ -95,9 +101,12 @@
WKPageNavigationDidReceiveAuthenticationChallengeCallback didReceiveAuthenticationChallenge;
WKPageNavigationWebProcessDidCrashCallback webProcessDidCrash;
WKPageNavigationCopyWebCryptoMasterKeyCallback copyWebCryptoMasterKey;
+
+ WKPageNavigationDidBeginNavigationGesture didBeginNavigationGesture;
+ WKPageNavigationWillEndNavigationGesture willEndNavigationGesture;
+ WKPageNavigationDidEndNavigationGesture didEndNavigationGesture;
} WKPageNavigationClientV0;
-
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (189108 => 189109)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2015-08-28 18:37:50 UTC (rev 189109)
@@ -5873,7 +5873,11 @@
m_isShowingNavigationGestureSnapshot = true;
m_pageClient.navigationGestureDidBegin();
- m_loaderClient->navigationGestureDidBegin(*this);
+
+ if (m_navigationClient)
+ m_navigationClient->didBeginNavigationGesture(*this);
+ else
+ m_loaderClient->navigationGestureDidBegin(*this);
}
void WebPageProxy::navigationGestureWillEnd(bool willNavigate, WebBackForwardListItem& item)
@@ -5881,7 +5885,11 @@
PageClientProtector protector(m_pageClient);
m_pageClient.navigationGestureWillEnd(willNavigate, item);
- m_loaderClient->navigationGestureWillEnd(*this, willNavigate, item);
+
+ if (m_navigationClient)
+ m_navigationClient->willEndNavigationGesture(*this, willNavigate, item);
+ else
+ m_loaderClient->navigationGestureWillEnd(*this, willNavigate, item);
}
void WebPageProxy::navigationGestureDidEnd(bool willNavigate, WebBackForwardListItem& item)
@@ -5889,7 +5897,10 @@
PageClientProtector protector(m_pageClient);
m_pageClient.navigationGestureDidEnd(willNavigate, item);
- m_loaderClient->navigationGestureDidEnd(*this, willNavigate, item);
+ if (m_navigationClient)
+ m_navigationClient->didEndNavigationGesture(*this, willNavigate, item);
+ else
+ m_loaderClient->navigationGestureDidEnd(*this, willNavigate, item);
}
void WebPageProxy::navigationGestureDidEnd()
Modified: trunk/Tools/ChangeLog (189108 => 189109)
--- trunk/Tools/ChangeLog 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Tools/ChangeLog 2015-08-28 18:37:50 UTC (rev 189109)
@@ -1,3 +1,16 @@
+2015-08-28 Tim Horton <[email protected]>
+
+ Add navigation gesture callbacks to WKPageNavigationClient
+ https://bugs.webkit.org/show_bug.cgi?id=148568
+ <rdar://problem/22371346>
+
+ Reviewed by Anders Carlsson.
+
+ * WebKitTestRunner/TestController.cpp:
+ (WTR::TestController::createOtherPage):
+ (WTR::TestController::createWebViewWithOptions):
+ Add some zeroes.
+
2015-08-28 Alexey Proskuryakov <[email protected]>
[Mac] kill-old-processes should kill more processes
Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (189108 => 189109)
--- trunk/Tools/WebKitTestRunner/TestController.cpp 2015-08-28 18:35:48 UTC (rev 189108)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp 2015-08-28 18:37:50 UTC (rev 189109)
@@ -291,6 +291,9 @@
didReceiveAuthenticationChallenge,
processDidCrash,
copyWebCryptoMasterKey,
+ 0, // didBeginNavigationGesture
+ 0, // willEndNavigationGesture
+ 0, // didEndNavigationGesture
};
WKPageSetPageNavigationClient(newPage, &pageNavigationClient.base);
@@ -532,6 +535,9 @@
didReceiveAuthenticationChallenge,
processDidCrash,
copyWebCryptoMasterKey,
+ 0, // didBeginNavigationGesture
+ 0, // willEndNavigationGesture
+ 0, // didEndNavigationGesture
};
WKPageSetPageNavigationClient(m_mainWebView->page(), &pageNavigationClient.base);