Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 4278f55ebd838195a20558483194a50a5d5d1e5f..457b81c3223c4b31d3b0d27cd74295231e1acc73 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -687,7 +687,7 @@ void RenderViewImpl::Initialize(const ViewMsg_New_Params& params, |
if (params.main_frame_routing_id != MSG_ROUTING_NONE) { |
main_render_frame_ = RenderFrameImpl::CreateMainFrame( |
this, params.main_frame_routing_id, params.main_frame_widget_routing_id, |
- params.hidden, screen_info(), compositor_deps_); |
+ params.hidden, screen_info(), compositor_deps_, opener_frame); |
} |
if (params.proxy_routing_id != MSG_ROUTING_NONE) { |
@@ -700,11 +700,9 @@ void RenderViewImpl::Initialize(const ViewMsg_New_Params& params, |
main_render_frame_->set_render_frame_proxy(proxy); |
} else { |
CHECK(SiteIsolationPolicy::IsSwappedOutStateForbidden()); |
- // Pass MSG_ROUTING_NONE for opener, since actual opener (if any) will be |
- // set separately below. |
- RenderFrameProxy::CreateFrameProxy(params.proxy_routing_id, routing_id(), |
- MSG_ROUTING_NONE, MSG_ROUTING_NONE, |
- params.replicated_frame_state); |
+ RenderFrameProxy::CreateFrameProxy( |
+ params.proxy_routing_id, routing_id(), params.opener_frame_route_id, |
+ MSG_ROUTING_NONE, params.replicated_frame_state); |
} |
} |
@@ -806,18 +804,13 @@ void RenderViewImpl::Initialize(const ViewMsg_New_Params& params, |
GetContentClient()->renderer()->RenderViewCreated(this); |
- // If we have an opener_frame but we weren't created by a renderer, then it's |
- // the browser asking us to set our opener to another frame. |
- if (opener_frame && !was_created_by_renderer) { |
- webview()->mainFrame()->setOpener(opener_frame); |
- |
- // Ensure that sandbox flags are inherited from an opener in a different |
- // process. In that case, the browser process will set any inherited |
- // sandbox flags in |replicated_frame_state|, so apply them here. |
- if (webview()->mainFrame()->isWebLocalFrame()) { |
- webview()->mainFrame()->toWebLocalFrame()->forceSandboxFlags( |
- params.replicated_frame_state.sandbox_flags); |
- } |
+ // Ensure that sandbox flags are inherited from an opener in a different |
+ // process. In that case, the browser process will set any inherited sandbox |
+ // flags in |replicated_frame_state|, so apply them here. |
+ if (opener_frame && !was_created_by_renderer && |
+ webview()->mainFrame()->isWebLocalFrame()) { |
+ webview()->mainFrame()->toWebLocalFrame()->forceSandboxFlags( |
+ params.replicated_frame_state.sandbox_flags); |
} |
// If we are initially swapped out, navigate to kSwappedOutURL. |