Make RenderFrameProxy a WebRemoteFrameClient
Implement postMessageEvent(), which is nearly identical to
RenderFrameImpl::willCheckAndDispatchMessageEvent(). The most notable difference
is the void return value, as remote frames know that the MessageEvent must
be delievered cross-process.
This is step 2 of 3 in getting WebRemoteFrameClient up and running.
BUG=411066
Review URL: https://codereview.chromium.org/545653002
Cr-Commit-Position: refs/heads/master@{#294009}
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h
index cd605fb6..8761f5e 100644
--- a/content/renderer/render_frame_proxy.h
+++ b/content/renderer/render_frame_proxy.h
@@ -11,8 +11,8 @@
#include "ipc/ipc_listener.h"
#include "ipc/ipc_sender.h"
-#include "third_party/WebKit/public/web/WebFrameClient.h"
#include "third_party/WebKit/public/web/WebRemoteFrame.h"
+#include "third_party/WebKit/public/web/WebRemoteFrameClient.h"
struct FrameMsg_BuffersSwapped_Params;
struct FrameMsg_CompositorFrameSwapped_Params;
@@ -46,7 +46,7 @@
class CONTENT_EXPORT RenderFrameProxy
: public IPC::Listener,
public IPC::Sender,
- NON_EXPORTED_BASE(public blink::WebFrameClient) {
+ NON_EXPORTED_BASE(public blink::WebRemoteFrameClient) {
public:
// This method should be used to create a RenderFrameProxy, which will replace
// an existing RenderFrame during its cross-process navigation from the
@@ -93,6 +93,13 @@
RenderViewImpl* render_view() { return render_view_; }
blink::WebRemoteFrame* web_frame() { return web_frame_; }
+ // blink::WebRemoteFrameClient implementation:
+ virtual void postMessageEvent(
+ blink::WebLocalFrame* sourceFrame,
+ blink::WebRemoteFrame* targetFrame,
+ blink::WebSecurityOrigin target,
+ blink::WebDOMMessageEvent event);
+
private:
RenderFrameProxy(int routing_id, int frame_routing_id);