| Index: content/renderer/render_frame_proxy.cc
|
| diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc
|
| index 66baaf7b1cd6407702d2a7a74ed4b6c7aa881bdf..fda7b7843555780b8c181c66df1b6a46c3b07495 100644
|
| --- a/content/renderer/render_frame_proxy.cc
|
| +++ b/content/renderer/render_frame_proxy.cc
|
| @@ -6,12 +6,14 @@
|
|
|
| #include <map>
|
|
|
| +#include "base/command_line.h"
|
| #include "base/lazy_instance.h"
|
| #include "content/child/webmessageportchannel_impl.h"
|
| #include "content/common/frame_messages.h"
|
| #include "content/common/frame_replication_state.h"
|
| #include "content/common/swapped_out_messages.h"
|
| #include "content/common/view_messages.h"
|
| +#include "content/public/common/content_switches.h"
|
| #include "content/renderer/child_frame_compositing_helper.h"
|
| #include "content/renderer/render_frame_impl.h"
|
| #include "content/renderer/render_thread_impl.h"
|
| @@ -65,7 +67,7 @@ RenderFrameProxy* RenderFrameProxy::CreateFrameProxy(
|
| RenderViewImpl* render_view = NULL;
|
| blink::WebRemoteFrame* web_frame = NULL;
|
| if (parent_routing_id == MSG_ROUTING_NONE) {
|
| - // Create a top level frame.
|
| + // Create a top level WebRemoteFrame.
|
| render_view = RenderViewImpl::FromRoutingID(render_view_routing_id);
|
| web_frame =
|
| blink::WebRemoteFrame::create(replicated_state.scope, proxy.get());
|
| @@ -292,12 +294,15 @@ void RenderFrameProxy::OnDisownOpener() {
|
| // When there is a RenderFrame for this proxy, tell it to disown its opener.
|
| // TODO(creis): Remove this when we only have WebRemoteFrames and make sure
|
| // they know they have an opener.
|
| - RenderFrameImpl* render_frame =
|
| - RenderFrameImpl::FromRoutingID(frame_routing_id_);
|
| - if (render_frame) {
|
| - if (render_frame->GetWebFrame()->opener())
|
| - render_frame->GetWebFrame()->setOpener(NULL);
|
| - return;
|
| + if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kSitePerProcess)) {
|
| + RenderFrameImpl* render_frame =
|
| + RenderFrameImpl::FromRoutingID(frame_routing_id_);
|
| + if (render_frame) {
|
| + if (render_frame->GetWebFrame()->opener())
|
| + render_frame->GetWebFrame()->setOpener(NULL);
|
| + return;
|
| + }
|
| }
|
|
|
| if (web_frame_->opener())
|
|
|