Chromium Code Reviews| Index: content/renderer/render_frame_proxy.cc |
| diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc |
| index 6e719c1ab31ecf8029184c4cf5ff762cece9eb25..5eb29aeeb4ed3c1efab86cc09b4c97d648596cd9 100644 |
| --- a/content/renderer/render_frame_proxy.cc |
| +++ b/content/renderer/render_frame_proxy.cc |
| @@ -153,6 +153,7 @@ bool RenderFrameProxy::OnMessageReceived(const IPC::Message& msg) { |
| IPC_MESSAGE_HANDLER_GENERIC(FrameMsg_CompositorFrameSwapped, |
| OnCompositorFrameSwapped(msg)) |
| IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener) |
| + IPC_MESSAGE_HANDLER(FrameMsg_SwapOut, OnSwapOut) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| @@ -230,6 +231,17 @@ void RenderFrameProxy::OnDisownOpener() { |
| web_frame_->setOpener(NULL); |
| } |
| +void RenderFrameProxy::OnSwapOut(int frame_routing_id) { |
|
Charlie Reis
2014/09/30 23:02:43
I don't think we want this, do we? Nasko was poin
nasko
2014/10/08 16:42:58
Yes, it will be best if we send the proxy routing
|
| + CHECK(!RenderFrameImpl::FromRoutingID(frame_routing_id)); |
| + |
| + RenderFrameImpl* render_frame = |
| + RenderFrameImpl::Create(render_view_, frame_routing_id); |
| + blink::WebLocalFrame* web_frame = blink::WebLocalFrame::create(render_frame); |
| + render_frame->SetWebFrame(web_frame); |
| + render_frame->Initialize(); |
| + web_frame_->swap(web_frame); |
| +} |
| + |
| void RenderFrameProxy::postMessageEvent( |
| blink::WebLocalFrame* source_frame, |
| blink::WebRemoteFrame* target_frame, |