Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/frame_host/render_frame_host_manager.h" | 5 #include "content/browser/frame_host/render_frame_host_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 256 | 256 |
| 257 RenderWidgetHostView* RenderFrameHostManager::GetRenderWidgetHostView() const { | 257 RenderWidgetHostView* RenderFrameHostManager::GetRenderWidgetHostView() const { |
| 258 if (interstitial_page_) | 258 if (interstitial_page_) |
| 259 return interstitial_page_->GetView(); | 259 return interstitial_page_->GetView(); |
| 260 if (render_frame_host_) | 260 if (render_frame_host_) |
| 261 return render_frame_host_->GetView(); | 261 return render_frame_host_->GetView(); |
| 262 return nullptr; | 262 return nullptr; |
| 263 } | 263 } |
| 264 | 264 |
| 265 bool RenderFrameHostManager::ForInnerDelegate() { | 265 bool RenderFrameHostManager::ForInnerDelegate() { |
| 266 // TODO(lazyboy): Subframes inside inner WebContents needs to be tested and | |
| 267 // we have to make sure that IsMainFrame() check below is appropriate. See | |
| 268 // http://crbug.com/500957. | |
| 269 return frame_tree_node_->IsMainFrame() && | 266 return frame_tree_node_->IsMainFrame() && |
|
Charlie Reis
2015/07/28 22:36:02
I still question whether this should return false
lazyboy
2015/07/30 19:46:31
I've made the function only care about its inner-n
| |
| 270 delegate_->GetOuterDelegateFrameTreeNodeID() != | 267 delegate_->GetOuterDelegateFrameTreeNodeID() != |
| 271 FrameTreeNode::kFrameTreeNodeInvalidID; | 268 FrameTreeNode::kFrameTreeNodeInvalidID; |
| 272 } | 269 } |
| 273 | 270 |
| 274 RenderWidgetHostImpl* | 271 RenderWidgetHostImpl* |
| 275 RenderFrameHostManager::GetOuterRenderWidgetHostForKeyboardInput() { | 272 RenderFrameHostManager::GetOuterRenderWidgetHostForKeyboardInput() { |
| 276 if (!ForInnerDelegate()) | 273 if (!ForInnerDelegate()) |
| 277 return nullptr; | 274 return nullptr; |
| 278 | 275 |
| 279 FrameTreeNode* outer_contents_frame_tree_node = | 276 FrameTreeNode* outer_contents_frame_tree_node = |
| (...skipping 1500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1780 proxy->set_render_frame_proxy_created(true); | 1777 proxy->set_render_frame_proxy_created(true); |
| 1781 } else { | 1778 } else { |
| 1782 proxy->InitRenderFrameProxy(); | 1779 proxy->InitRenderFrameProxy(); |
| 1783 } | 1780 } |
| 1784 | 1781 |
| 1785 return proxy->GetRoutingID(); | 1782 return proxy->GetRoutingID(); |
| 1786 } | 1783 } |
| 1787 | 1784 |
| 1788 void RenderFrameHostManager::CreateProxiesForChildFrame(FrameTreeNode* child) { | 1785 void RenderFrameHostManager::CreateProxiesForChildFrame(FrameTreeNode* child) { |
| 1789 for (const auto& pair : *proxy_hosts_) { | 1786 for (const auto& pair : *proxy_hosts_) { |
| 1787 // If this proxy lives in our outer delegate process, then subframe | |
|
Charlie Reis
2015/07/28 22:36:02
Rephrase:
Do not create proxies for subframes in t
lazyboy
2015/07/30 19:46:31
Done.
| |
| 1788 // FrameTreeNodes should not have proxy to that outer delegate. | |
| 1789 if (ForInnerDelegate() && GetProxyToOuterDelegate() == pair.second) | |
| 1790 continue; | |
| 1791 | |
| 1790 child->render_manager()->CreateRenderFrameProxy( | 1792 child->render_manager()->CreateRenderFrameProxy( |
| 1791 pair.second->GetSiteInstance()); | 1793 pair.second->GetSiteInstance()); |
| 1792 } | 1794 } |
| 1793 } | 1795 } |
| 1794 | 1796 |
| 1795 void RenderFrameHostManager::EnsureRenderViewInitialized( | 1797 void RenderFrameHostManager::EnsureRenderViewInitialized( |
| 1796 RenderViewHostImpl* render_view_host, | 1798 RenderViewHostImpl* render_view_host, |
| 1797 SiteInstance* instance) { | 1799 SiteInstance* instance) { |
| 1798 DCHECK(frame_tree_node_->IsMainFrame()); | 1800 DCHECK(frame_tree_node_->IsMainFrame()); |
| 1799 | 1801 |
| (...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2436 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) { | 2438 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) { |
| 2437 if (!frame_tree_node_->opener()) | 2439 if (!frame_tree_node_->opener()) |
| 2438 return MSG_ROUTING_NONE; | 2440 return MSG_ROUTING_NONE; |
| 2439 | 2441 |
| 2440 return frame_tree_node_->opener() | 2442 return frame_tree_node_->opener() |
| 2441 ->render_manager() | 2443 ->render_manager() |
| 2442 ->GetRoutingIdForSiteInstance(instance); | 2444 ->GetRoutingIdForSiteInstance(instance); |
| 2443 } | 2445 } |
| 2444 | 2446 |
| 2445 } // namespace content | 2447 } // namespace content |
| OLD | NEW |