Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1721)

Unified Diff: content/renderer/render_frame_proxy.cc

Issue 1685003002: Plumb the correct owner document through DocumentInit::m_owner. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_proxy.cc
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc
index 270e2933cd5b863021abace626155e71b4e83e42..3c44dbe77c2e2d983081eac98f1985503a2e8c0f 100644
--- a/content/renderer/render_frame_proxy.cc
+++ b/content/renderer/render_frame_proxy.cc
@@ -89,6 +89,9 @@ RenderFrameProxy* RenderFrameProxy::CreateFrameProxy(
return nullptr;
}
+ blink::WebFrame* opener =
+ RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr);
+
scoped_ptr<RenderFrameProxy> proxy(
new RenderFrameProxy(routing_id, MSG_ROUTING_NONE));
RenderViewImpl* render_view = nullptr;
@@ -98,8 +101,8 @@ RenderFrameProxy* RenderFrameProxy::CreateFrameProxy(
if (!parent) {
// Create a top level WebRemoteFrame.
render_view = RenderViewImpl::FromRoutingID(render_view_routing_id);
- web_frame =
- blink::WebRemoteFrame::create(replicated_state.scope, proxy.get());
+ web_frame = blink::WebRemoteFrame::create(replicated_state.scope,
+ proxy.get(), opener);
render_view->webview()->setMainFrame(web_frame);
render_widget = render_view;
} else {
@@ -111,15 +114,11 @@ RenderFrameProxy* RenderFrameProxy::CreateFrameProxy(
replicated_state.scope,
blink::WebString::fromUTF8(replicated_state.name),
blink::WebString::fromUTF8(replicated_state.unique_name),
- replicated_state.sandbox_flags, proxy.get());
+ replicated_state.sandbox_flags, proxy.get(), opener);
render_view = parent->render_view();
render_widget = parent->render_widget();
}
- blink::WebFrame* opener =
- RenderFrameImpl::ResolveOpener(opener_routing_id, nullptr);
- web_frame->setOpener(opener);
-
proxy->Init(web_frame, render_view, render_widget);
// Initialize proxy's WebRemoteFrame with the security origin and other

Powered by Google App Engine
This is Rietveld 408576698