| Index: content/browser/frame_host/frame_tree.cc
|
| diff --git a/content/browser/frame_host/frame_tree.cc b/content/browser/frame_host/frame_tree.cc
|
| index 90c1f8d343f56497862403d4ee851bc913ea3480..27ed57ff1a32d0cfdabf81af901f6e28b2e0d496 100644
|
| --- a/content/browser/frame_host/frame_tree.cc
|
| +++ b/content/browser/frame_host/frame_tree.cc
|
| @@ -54,7 +54,12 @@ bool ResetNodesForNewProcess(RenderViewHost* render_view_host,
|
|
|
| bool CreateProxyForSiteInstance(const scoped_refptr<SiteInstance>& instance,
|
| FrameTreeNode* node) {
|
| - node->render_manager()->CreateRenderFrameProxy(instance.get());
|
| + // If a new frame is created in the current SiteInstance, other frames in
|
| + // that SiteInstance don't need a proxy for the new frame.
|
| + SiteInstance* current_instance =
|
| + node->render_manager()->current_frame_host()->GetSiteInstance();
|
| + if (current_instance != instance.get())
|
| + node->render_manager()->CreateRenderFrameProxy(instance.get());
|
| return true;
|
| }
|
|
|
|
|