| 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 3415e46780ea6f1145fe1968a2f107a6f842be5c..de6c69b59bd06e46c839dbcff6e67ef7012d55b7 100644
|
| --- a/content/browser/frame_host/frame_tree.cc
|
| +++ b/content/browser/frame_host/frame_tree.cc
|
| @@ -14,7 +14,6 @@
|
| #include "content/browser/frame_host/navigator.h"
|
| #include "content/browser/frame_host/render_frame_host_factory.h"
|
| #include "content/browser/frame_host/render_frame_host_impl.h"
|
| -#include "content/browser/frame_host/render_frame_proxy_host.h"
|
| #include "content/browser/renderer_host/render_view_host_factory.h"
|
| #include "content/browser/renderer_host/render_view_host_impl.h"
|
| #include "content/public/browser/browser_thread.h"
|
| @@ -36,6 +35,20 @@
|
| FrameTreeNode** out_node,
|
| FrameTreeNode* node) {
|
| if (node->frame_tree_node_id() == frame_tree_node_id) {
|
| + *out_node = node;
|
| + // Terminate iteration once the node has been found.
|
| + return false;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| +bool FrameTreeNodeForRoutingId(int routing_id,
|
| + int process_id,
|
| + FrameTreeNode** out_node,
|
| + FrameTreeNode* node) {
|
| + // TODO(creis): Look through the swapped out RFHs as well.
|
| + if (node->current_frame_host()->GetProcess()->GetID() == process_id &&
|
| + node->current_frame_host()->GetRoutingID() == routing_id) {
|
| *out_node = node;
|
| // Terminate iteration once the node has been found.
|
| return false;
|
| @@ -107,23 +120,10 @@
|
| }
|
|
|
| FrameTreeNode* FrameTree::FindByRoutingID(int routing_id, int process_id) {
|
| - RenderFrameHostImpl* render_frame_host =
|
| - RenderFrameHostImpl::FromID(process_id, routing_id);
|
| - if (render_frame_host) {
|
| - FrameTreeNode* result = render_frame_host->frame_tree_node();
|
| - if (this == result->frame_tree())
|
| - return result;
|
| - }
|
| -
|
| - RenderFrameProxyHost* render_frame_proxy_host =
|
| - RenderFrameProxyHost::FromID(process_id, routing_id);
|
| - if (render_frame_proxy_host) {
|
| - FrameTreeNode* result = render_frame_proxy_host->frame_tree_node();
|
| - if (this == result->frame_tree())
|
| - return result;
|
| - }
|
| -
|
| - return NULL;
|
| + FrameTreeNode* node = NULL;
|
| + ForEach(
|
| + base::Bind(&FrameTreeNodeForRoutingId, routing_id, process_id, &node));
|
| + return node;
|
| }
|
|
|
| void FrameTree::ForEach(
|
|
|