[Cocoa] Navigation action information for policy decisions is missing the original...
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Dec 2013 18:41:55 +0000 (18:41 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Dec 2013 18:41:55 +0000 (18:41 +0000)
commit7793b0e0add3081c5df121ca301425d7cdeacfee
tree0526e2eb59fd44302a247e3ea3453a3bce87fde8
parenteb258d2e43d10e2206988c810af488b8c8b598ef
[Cocoa] Navigation action information for policy decisions is missing the original request
https://bugs.webkit.org/show_bug.cgi?id=125612

Reviewed by Anders Carlsson.

* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction): Added template with additional message parameter.
* UIProcess/API/C/WKPagePolicyClientInternal.h: Added. Defines a new version of the client
interface with a new version of the policy decision callback.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPagePolicyClient): Use the new internal version of the client. Pass the original
request in the action information dictionary under a new key.
* UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Declared new action information
key.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originalRequest parameter,
which is passed to the policy client.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Added originalRequest parameter in
DecidePolicyForNavigationAction.
* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::decidePolicyForNavigationAction): Pass the original request to
the client.
* UIProcess/WebPolicyClient.h:
* WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the original
request from the navigation action to the UI process.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
Source/WebKit2/ChangeLog
Source/WebKit2/Platform/CoreIPC/HandleMessage.h
Source/WebKit2/UIProcess/API/C/WKPagePolicyClientInternal.h [new file with mode: 0644]
Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm
Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h
Source/WebKit2/UIProcess/WebPageProxy.cpp
Source/WebKit2/UIProcess/WebPageProxy.h
Source/WebKit2/UIProcess/WebPageProxy.messages.in
Source/WebKit2/UIProcess/WebPolicyClient.cpp
Source/WebKit2/UIProcess/WebPolicyClient.h
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp