summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-02-09 14:16:12 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-02-09 14:16:12 +0100
commit03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (patch)
tree52599cd0ab782b1768e23ad176f7618f98333cb6 /Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp
parentcd44dc59cdfc39534aef4d417e9f3c412e3be139 (diff)
downloadqtwebkit-03e12282df9aa1e1fb05a8b90f1cfc2e08764cec.tar.gz
Imported WebKit commit e09a82039aa4273ab318b71122e92d8e5f233525 (http://svn.webkit.org/repository/webkit/trunk@107223)
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp12
1 files changed, 11 insertions, 1 deletions
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 <wtf/gobject/GRefPtr.h>
@@ -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<WebKitResponsePolicyDecision> 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);