Index: content/browser/web_contents/web_contents_impl.cc |
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
index 10187d104037ca97078b9e33ddeca6b6f2b2886f..b4379ca1b4da6085d77539d2f25d366ca1d1ec93 100644 |
--- a/content/browser/web_contents/web_contents_impl.cc |
+++ b/content/browser/web_contents/web_contents_impl.cc |
@@ -44,6 +44,7 @@ |
#include "content/browser/download/save_package.h" |
#include "content/browser/find_request_manager.h" |
#include "content/browser/frame_host/cross_process_frame_connector.h" |
+#include "content/browser/frame_host/frame_tree_node.h" |
#include "content/browser/frame_host/interstitial_page_impl.h" |
#include "content/browser/frame_host/navigation_entry_impl.h" |
#include "content/browser/frame_host/navigation_handle_impl.h" |
@@ -302,6 +303,12 @@ WebContents* WebContents::FromRenderFrameHost(RenderFrameHost* rfh) { |
return static_cast<RenderFrameHostImpl*>(rfh)->delegate()->GetAsWebContents(); |
} |
+WebContents* WebContents::FromFrameTreeNodeId(int frame_tree_node_id) { |
+ FrameTreeNode* frame_tree_node = |
+ FrameTreeNode::GloballyFindByID(frame_tree_node_id); |
+ return FromRenderFrameHost(frame_tree_node->current_frame_host()); |
+} |
+ |
// WebContentsImpl::DestructionObserver ---------------------------------------- |
class WebContentsImpl::DestructionObserver : public WebContentsObserver { |