Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Unified Diff: content/browser/frame_host/render_frame_host_manager.h

Issue 972313002: Make <webview> use out-of-process iframe architecture. (Closed) Base URL: ssh://saopaulo.wat/mnt/dev/shared/src@testoopif2z-better-chrome
Patch Set: address comments from nasko@ + git cl format Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_manager.h
diff --git a/content/browser/frame_host/render_frame_host_manager.h b/content/browser/frame_host/render_frame_host_manager.h
index 86cc07e89d487d2eb56e3224bc7a8bd126d12c3f..ae02a471c2300af606c36cc906883ab6d9b38400 100644
--- a/content/browser/frame_host/render_frame_host_manager.h
+++ b/content/browser/frame_host/render_frame_host_manager.h
@@ -177,6 +177,13 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
// hidden state.
virtual bool IsHidden() = 0;
+ // Returns the FrameTreeNode id of the outer WebContents that is hosting
+ // this (inner) WebContents. This FrameTreeNode is the frame that
Charlie Reis 2015/06/18 00:13:18 The second sentence is confusing because of the tw
lazyboy 2015/06/18 22:45:12 Done.
+ // represents this inner WebContents within the FrameTree of the outer
+ // WebContents. Returns FrameTreeNode::kFrameTreeNodeInvalidID if this
+ // WebContents does not have an outer WebContents.
+ virtual int GetOuterDelegateFrameTreeNodeID() = 0;
+
protected:
virtual ~Delegate() {}
};
@@ -222,7 +229,27 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
// there is no current one.
RenderWidgetHostView* GetRenderWidgetHostView() const;
+ // Returns the RenderWidgetHost of outer WebContents that can be used to fetch
Charlie Reis 2015/06/18 00:13:18 nit: of the outer WebContents (if any)
lazyboy 2015/06/18 22:45:12 Done.
+ // the last keyboard event.
+ // TODO(lazyboy): This can be removed once input events are sent directly to
+ // remote frames.
Charlie Reis 2015/06/18 00:13:18 Ask Ken if there's a bug number we can list for th
lazyboy 2015/06/18 22:45:12 Ken's OOO, will do when he comes back. Added note
+ RenderWidgetHostImpl* GetOuterRenderWidgetHostForKeyboardInput();
+
RenderFrameProxyHost* GetProxyToParent();
+ // Returns the proxy to inner WebContents in the outer WebContents's
Charlie Reis 2015/06/18 00:13:18 nit: to the inner Also, put a blank line above th
lazyboy 2015/06/18 22:45:12 Done.
+ // SiteInstance. Returns nullptr if this WebContents isn't part of inner/outer
+ // relationship.
+ RenderFrameProxyHost* GetProxyToOuterDelegate();
+
+ // Returns whether this manager belongs to a FrameTreeNode that is a main
+ // frame in an inner WebContents.
+ // TODO(lazyboy): Make this work correctly for subframes inside inner
+ // WebContents too.
+ bool ForInnerDelegate();
Charlie Reis 2015/06/18 00:13:18 nit: Let's move this above GetOuterRenderWidgetHos
lazyboy 2015/06/18 22:45:12 Done.
+
+ // Removes the FrameTreeNode in the outer WebContents that represents this
+ // FrameTreeNode.
+ void RemoveOuterDelegateFrame();
Charlie Reis 2015/06/18 00:13:18 This method doesn't make sense to me. It looks li
lazyboy 2015/06/18 22:45:12 [1]
// Returns the pending RenderFrameHost, or NULL if there is no pending one.
RenderFrameHostImpl* pending_frame_host() const {
@@ -423,6 +450,17 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
RenderViewHostImpl* render_view_host,
SiteInstance* instance);
+ // Called on the RFHM of the inner WebContents to create a
+ // RenderFrameProxyHost for this inner WebContents's frame in its outer
+ // WebContents's SiteInstance. This SiteInstance is for the parent frame
+ // |render_frame_host| in the outer WebContents
Charlie Reis 2015/06/18 00:13:18 This is confusingly worded. Can you rephrase it?
lazyboy 2015/06/18 22:45:12 I just dropped the "for this inner Webcontent's fr
+ void CreateOuterDelegateProxy(SiteInstance* outer_contents_site_instance,
+ RenderFrameHostImpl* render_frame_host);
+
+ // Sets the child RenderWidgetHostView for this frame, which much be part of
Charlie Reis 2015/06/18 00:13:18 s/much/must/
lazyboy 2015/06/18 22:45:12 Done.
+ // an inner WebContents.
+ void SetRWHViewForInnerContents(RenderWidgetHostView* child_rwhv);
+
private:
friend class FrameTreeVisualizer;
friend class NavigatorTestWithBrowserSideNavigation;

Powered by Google App Engine
This is Rietveld 408576698