Diff
Modified: trunk/Source/WebKit2/ChangeLog (218062 => 218063)
--- trunk/Source/WebKit2/ChangeLog 2017-06-11 06:25:45 UTC (rev 218062)
+++ trunk/Source/WebKit2/ChangeLog 2017-06-11 06:28:02 UTC (rev 218063)
@@ -1,5 +1,25 @@
2017-06-10 Carlos Garcia Campos <[email protected]>
+ [GTK] Handle page download request in WebKitWebView directly
+ https://bugs.webkit.org/show_bug.cgi?id=173137
+
+ Reviewed by Žan Doberšek.
+
+ We don't need to pass through WebKitWebViewBase, since the base doesn't have an implementation.
+
+ * UIProcess/API/gtk/PageClientImpl.cpp:
+ (WebKit::PageClientImpl::handleDownloadRequest):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkitWebViewConstructed):
+ (webkitWebViewHandleDownloadRequest):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseSetDownloadRequestHandler): Deleted.
+ (webkitWebViewBaseHandleDownloadRequest): Deleted.
+ * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
+ * UIProcess/API/gtk/WebKitWebViewPrivate.h:
+
+2017-06-10 Carlos Garcia Campos <[email protected]>
+
[GTK] Use a lambda in webkit_cookie_manager_get_accept_policy instead of toGenericCallbackFunction
https://bugs.webkit.org/show_bug.cgi?id=173134
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp (218062 => 218063)
--- trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp 2017-06-11 06:25:45 UTC (rev 218062)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp 2017-06-11 06:28:02 UTC (rev 218063)
@@ -272,7 +272,8 @@
void PageClientImpl::handleDownloadRequest(DownloadProxy* download)
{
- webkitWebViewBaseHandleDownloadRequest(WEBKIT_WEB_VIEW_BASE(m_viewWidget), download);
+ if (WEBKIT_IS_WEB_VIEW(m_viewWidget))
+ webkitWebViewHandleDownloadRequest(WEBKIT_WEB_VIEW(m_viewWidget), download);
}
void PageClientImpl::didCommitLoadForMainFrame(const String& /* mimeType */, bool /* useCustomContentProvider */ )
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (218062 => 218063)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2017-06-11 06:25:45 UTC (rev 218062)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2017-06-11 06:28:02 UTC (rev 218063)
@@ -601,12 +601,6 @@
return TRUE;
}
-static void webkitWebViewHandleDownloadRequest(WebKitWebViewBase* webViewBase, DownloadProxy* downloadProxy)
-{
- GRefPtr<WebKitDownload> download = webkitWebContextGetOrCreateDownload(downloadProxy);
- webkitDownloadSetWebView(download.get(), WEBKIT_WEB_VIEW(webViewBase));
-}
-
#if USE(LIBNOTIFY)
static const char* gNotifyNotificationID = "wk-notify-notification";
@@ -695,8 +689,6 @@
// The related view is only valid during the construction.
priv->relatedView = nullptr;
- webkitWebViewBaseSetDownloadRequestHandler(WEBKIT_WEB_VIEW_BASE(webView), webkitWebViewHandleDownloadRequest);
-
attachLoaderClientToView(webView);
attachUIClientToView(webView);
attachPolicyClientToView(webView);
@@ -2041,6 +2033,13 @@
g_signal_emit(webView, signals[MOUSE_TARGET_CHANGED], 0, priv->mouseTargetHitTestResult.get(), modifiers);
}
+void webkitWebViewHandleDownloadRequest(WebKitWebView* webView, DownloadProxy* downloadProxy)
+{
+ ASSERT(downloadProxy);
+ GRefPtr<WebKitDownload> download = webkitWebContextGetOrCreateDownload(downloadProxy);
+ webkitDownloadSetWebView(download.get(), webView);
+}
+
void webkitWebViewPrintFrame(WebKitWebView* webView, WebFrameProxy* frame)
{
auto printOperation = adoptGRef(webkit_print_operation_new(webView));
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (218062 => 218063)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2017-06-11 06:25:45 UTC (rev 218062)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2017-06-11 06:28:02 UTC (rev 218063)
@@ -189,8 +189,6 @@
ActivityState::Flags activityStateFlagsToUpdate { 0 };
RunLoop::Timer<WebKitWebViewBasePrivate> updateActivityStateTimer;
- WebKitWebViewBaseDownloadRequestHandler downloadHandler { 0 };
-
#if ENABLE(FULLSCREEN_API)
bool fullScreenModeActive { false };
WebFullScreenClientGtk fullScreenClient;
@@ -1445,17 +1443,6 @@
return webViewBase->priv->activityState & ActivityState::IsInWindow;
}
-void webkitWebViewBaseSetDownloadRequestHandler(WebKitWebViewBase* webViewBase, WebKitWebViewBaseDownloadRequestHandler downloadHandler)
-{
- webViewBase->priv->downloadHandler = downloadHandler;
-}
-
-void webkitWebViewBaseHandleDownloadRequest(WebKitWebViewBase* webViewBase, DownloadProxy* download)
-{
- if (webViewBase->priv->downloadHandler)
- webViewBase->priv->downloadHandler(webViewBase, download);
-}
-
void webkitWebViewBaseSetInputMethodState(WebKitWebViewBase* webkitWebViewBase, bool enabled)
{
webkitWebViewBase->priv->inputMethodFilter.setEnabled(enabled);
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (218062 => 218063)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2017-06-11 06:25:45 UTC (rev 218062)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2017-06-11 06:28:02 UTC (rev 218063)
@@ -63,10 +63,6 @@
bool webkitWebViewBaseIsVisible(WebKitWebViewBase*);
bool webkitWebViewBaseIsInWindow(WebKitWebViewBase*);
-typedef void (*WebKitWebViewBaseDownloadRequestHandler) (WebKitWebViewBase*, WebKit::DownloadProxy*);
-void webkitWebViewBaseSetDownloadRequestHandler(WebKitWebViewBase*, WebKitWebViewBaseDownloadRequestHandler);
-void webkitWebViewBaseHandleDownloadRequest(WebKitWebViewBase*, WebKit::DownloadProxy*);
-
void webkitWebViewBaseAddAuthenticationDialog(WebKitWebViewBase*, GtkWidget* authDialog);
void webkitWebViewBaseCancelAuthenticationDialog(WebKitWebViewBase*);
void webkitWebViewBaseAddWebInspector(WebKitWebViewBase*, GtkWidget* inspector, WebKit::AttachmentSide);
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h (218062 => 218063)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h 2017-06-11 06:25:45 UTC (rev 218062)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h 2017-06-11 06:28:02 UTC (rev 218063)
@@ -48,6 +48,7 @@
void webkitWebViewMakePermissionRequest(WebKitWebView*, WebKitPermissionRequest*);
void webkitWebViewMakePolicyDecision(WebKitWebView*, WebKitPolicyDecisionType, WebKitPolicyDecision*);
void webkitWebViewMouseTargetChanged(WebKitWebView*, const WebKit::WebHitTestResultData&, unsigned modifiers);
+void webkitWebViewHandleDownloadRequest(WebKitWebView*, WebKit::DownloadProxy*);
void webkitWebViewPrintFrame(WebKitWebView*, WebKit::WebFrameProxy*);
void webkitWebViewResourceLoadStarted(WebKitWebView*, WebKit::WebFrameProxy*, uint64_t resourceIdentifier, WebKitURIRequest*);
void webkitWebViewRunFileChooserRequest(WebKitWebView*, WebKitFileChooserRequest*);