Index: content/renderer/render_frame_proxy.cc |
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc |
index 14670716dfee75ba73d6c658a4e90db05bc3f45d..ff16e41aa71aca85ba94d49f6b36690e63f5f13a 100644 |
--- a/content/renderer/render_frame_proxy.cc |
+++ b/content/renderer/render_frame_proxy.cc |
@@ -39,16 +39,10 @@ RenderFrameProxy* RenderFrameProxy::CreateProxyToReplaceFrame( |
scoped_ptr<RenderFrameProxy> proxy( |
new RenderFrameProxy(routing_id, frame_to_replace->GetRoutingID())); |
- blink::WebRemoteFrame* web_frame = NULL; |
- if (frame_to_replace->GetWebFrame()->parent() && |
- frame_to_replace->GetWebFrame()->parent()->isWebRemoteFrame()) { |
- blink::WebRemoteFrame* parent_web_frame = |
- frame_to_replace->GetWebFrame()->parent()->toWebRemoteFrame(); |
- web_frame = parent_web_frame->createRemoteChild("", proxy.get()); |
- } else { |
- web_frame = blink::WebRemoteFrame::create(proxy.get()); |
- } |
- |
+ // When a RenderFrame is replaced by a RenderProxy, the WebRemoteFrame should |
+ // always come from WebRemoteFrame::create and a call to WebFrame::swap must |
+ // follow later. |
+ blink::WebRemoteFrame* web_frame = blink::WebRemoteFrame::create(proxy.get()); |
proxy->Init(web_frame, frame_to_replace->render_view()); |
return proxy.release(); |
} |