Index: chrome/browser/guest_view/guest_view.h |
diff --git a/chrome/browser/guest_view/guest_view.h b/chrome/browser/guest_view/guest_view.h |
index c7d854f9a9656897a657c4b94b148073de5e542f..b9fe688aba5da4fc1488cd31e4980c29b559197c 100644 |
--- a/chrome/browser/guest_view/guest_view.h |
+++ b/chrome/browser/guest_view/guest_view.h |
@@ -6,6 +6,7 @@ |
#define CHROME_BROWSER_GUEST_VIEW_GUEST_VIEW_H_ |
#include "chrome/browser/guest_view/guest_view_base.h" |
+#include "content/public/browser/render_frame_host.h" |
// A GuestView is the templated base class for out-of-process frames in the |
// chrome layer. GuestView is templated on its derived type to allow for type- |
@@ -26,6 +27,17 @@ class GuestView : public GuestViewBase { |
return guest ? guest->As<T>() : NULL; |
} |
+ static T* FromFrameID(int render_process_id, int render_frame_id) { |
+ content::RenderFrameHost* render_frame_host = |
+ content::RenderFrameHost::FromID(render_process_id, render_frame_id); |
+ if (!render_frame_host) { |
+ return NULL; |
+ } |
+ content::WebContents* web_contents = |
+ content::WebContents::FromRenderFrameHost(render_frame_host); |
+ return FromWebContents(web_contents); |
+ } |
+ |
T* GetOpener() const { |
GuestViewBase* guest = GuestViewBase::GetOpener(); |
if (!guest) |