Index: content/renderer/render_frame_proxy.cc |
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc |
index 9f03df23ebc52d5630e615c4473ccc51f15c7899..e809fd29a1521467b6e11d9e2fdb4dac43422b9b 100644 |
--- a/content/renderer/render_frame_proxy.cc |
+++ b/content/renderer/render_frame_proxy.cc |
@@ -60,6 +60,7 @@ RenderFrameProxy* RenderFrameProxy::CreateProxyToReplaceFrame( |
RenderFrameProxy* RenderFrameProxy::CreateFrameProxy( |
int routing_id, |
int parent_routing_id, |
+ int opener_routing_id, |
int render_view_routing_id, |
const FrameReplicationState& replicated_state) { |
scoped_ptr<RenderFrameProxy> proxy( |
@@ -85,6 +86,10 @@ RenderFrameProxy* RenderFrameProxy::CreateFrameProxy( |
render_view = parent->render_view(); |
} |
+ blink::WebFrame* opener = |
+ RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr); |
+ web_frame->setOpener(opener); |
+ |
proxy->Init(web_frame, render_view); |
// Initialize proxy's WebRemoteFrame with the security origin and other |