Title: [218063] trunk/Source/WebKit2
Revision
218063
Author
[email protected]
Date
2017-06-10 23:28:02 -0700 (Sat, 10 Jun 2017)

Log Message

[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:

Modified Paths

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*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to