From 03e12282df9aa1e1fb05a8b90f1cfc2e08764cec Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 9 Feb 2012 14:16:12 +0100 Subject: Imported WebKit commit e09a82039aa4273ab318b71122e92d8e5f233525 (http://svn.webkit.org/repository/webkit/trunk@107223) --- Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp') diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp index 61757d428..87fe90799 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp @@ -23,6 +23,7 @@ #include "WebKitNavigationPolicyDecisionPrivate.h" #include "WebKitPolicyDecision.h" #include "WebKitPrivate.h" +#include "WebKitResponsePolicyDecisionPrivate.h" #include "WebKitWebViewBasePrivate.h" #include "WebKitWebViewPrivate.h" #include @@ -57,6 +58,15 @@ static void decidePolicyForNewWindowActionCallback(WKPageRef page, WKFrameRef fr WEBKIT_POLICY_DECISION(decision.get())); } +static void decidePolicyForResponseCallback(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) +{ + GRefPtr decision = + adoptGRef(webkitResponsePolicyDecisionCreate(request, response, listener)); + webkitWebViewMakePolicyDecision(WEBKIT_WEB_VIEW(clientInfo), + WEBKIT_POLICY_DECISION_TYPE_RESPONSE, + WEBKIT_POLICY_DECISION(decision.get())); +} + void attachPolicyClientToPage(WebKitWebView* webView) { WKPagePolicyClient policyClient = { @@ -64,7 +74,7 @@ void attachPolicyClientToPage(WebKitWebView* webView) webView, // clientInfo decidePolicyForNavigationActionCallback, decidePolicyForNewWindowActionCallback, - 0, // decidePolicyForResponseCallback, + decidePolicyForResponseCallback, 0, // unableToImplementPolicy }; WKPageSetPagePolicyClient(toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))), &policyClient); -- cgit v1.2.1