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..0f679e8ca6088e80e5eff32f9c37a772f603acd1 100644 |
--- a/content/browser/frame_host/frame_tree.cc |
+++ b/content/browser/frame_host/frame_tree.cc |
@@ -54,7 +54,13 @@ 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 an existing SiteInstance, the other frames in |
+ // that SiteInstance don't need a proxy for the new frame. |
+ SiteInstance* current_instance = |
+ node->render_manager()->current_frame_host()->GetSiteInstance(); |
Charlie Reis
2014/10/21 22:31:27
What about the SiteInstances that already have Ren
|
+ if (current_instance != instance.get()) { |
nasko
2014/10/21 22:25:23
nit: one line if statements don't need {}
|
+ node->render_manager()->CreateRenderFrameProxy(instance.get()); |
+ } |
return true; |
} |