| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 17df925cac5d53f141d9c50c51170d30c6572d28..90664239d7dccce7a0afd1b9f84df0dfb7a182ad 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -1010,6 +1010,8 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) {
|
| OnSetAccessibilityMode)
|
| IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener)
|
| IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation)
|
| + IPC_MESSAGE_HANDLER(FrameMsg_ReplaceLocalFrameWithProxy,
|
| + OnReplaceLocalFrameWithProxy)
|
| #if defined(OS_ANDROID)
|
| IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItems, OnSelectPopupMenuItems)
|
| #elif defined(OS_MACOSX)
|
| @@ -3909,6 +3911,20 @@ void RenderFrameImpl::OnCommitNavigation(
|
| renderer_navigation_start);
|
| }
|
|
|
| +void RenderFrameImpl::OnReplaceLocalFrameWithProxy(int proxy_routing_id) {
|
| + RenderFrameProxy* proxy_to_replace_frame = RenderFrameProxy::FromRoutingID(
|
| + proxy_routing_id);
|
| + DCHECK(proxy_to_replace_frame);
|
| +
|
| + blink::WebRemoteFrame* web_frame =
|
| + blink::WebRemoteFrame::create(proxy_to_replace_frame);
|
| + proxy_to_replace_frame->SetWebRemoteFrame(web_frame);
|
| + proxy_to_replace_frame->web_frame()->initializeFromFrame(frame_);
|
| + frame_->swap(proxy_to_replace_frame->web_frame());
|
| + printf("**** done swap() ****\n");
|
| + render_view_->RegisterRenderFrameProxy(proxy_to_replace_frame);
|
| +}
|
| +
|
| WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
|
| RenderFrame* render_frame,
|
| const NavigationPolicyInfo& info) {
|
|
|