Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 594da3c38f9c518921d0056c547e8bcdfc02f722..a9f2a025ccd47ee13260d3bd0b3d6fc642124905 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -573,6 +573,7 @@ void RenderFrameImpl::CreateFrame( |
int parent_routing_id, |
int previous_sibling_routing_id, |
int proxy_routing_id, |
+ int opener_routing_id, |
const FrameReplicationState& replicated_state, |
CompositorDependencies* compositor_deps, |
const FrameMsg_NewFrame_WidgetParams& widget_params) { |
@@ -614,6 +615,9 @@ void RenderFrameImpl::CreateFrame( |
render_frame->SetWebFrame(web_frame); |
CHECK_IMPLIES(parent_routing_id == MSG_ROUTING_NONE, !web_frame->parent()); |
+ WebFrame* opener = ResolveOpener(opener_routing_id, nullptr); |
+ web_frame->setOpener(opener); |
+ |
if (widget_params.routing_id != MSG_ROUTING_NONE) { |
CHECK(SiteIsolationPolicy::AreCrossProcessFramesPossible()); |
render_frame->render_widget_ = RenderWidget::CreateForFrame( |