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

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: rename changes Created 5 years, 7 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 af88aa5ccf2674c3b2dab2213a7483dde36e62a7..9c7fcd38559e91c00073c2c728711319696a5622 100644
--- a/content/browser/frame_host/render_frame_host_manager.h
+++ b/content/browser/frame_host/render_frame_host_manager.h
@@ -175,6 +175,11 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
// hidden state.
virtual bool IsHidden() = 0;
+ // Returns the FTN id of the outer WebContents that is hosting this
nasko 2015/05/22 16:32:27 nit: s/FTN/FrameTreeNode/
lazyboy 2015/05/26 16:32:54 Done.
+ // (inner) WebContents.
+ // Returns -1 if this WebContents does not have an outer WebContents.
+ virtual int GetOuterWebContentsFrameTreeNodeID() = 0;
nasko 2015/05/22 16:32:27 At this layer (content/browser/frame_host) we don'
Charlie Reis 2015/05/22 23:44:31 In a sense, "delegate" refers to WebContents, so m
lazyboy 2015/05/26 16:32:54 Using GetOuterDelegateFrameTreeNodeID.
+
protected:
virtual ~Delegate() {}
};
@@ -221,6 +226,14 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
RenderWidgetHostView* GetRenderWidgetHostView() const;
RenderFrameProxyHost* GetProxyToParent();
+ RenderFrameProxyHost* GetProxyToOuterContents();
nasko 2015/05/22 16:32:27 nit: Similar issue with Contents as above. This la
Charlie Reis 2015/05/22 23:44:30 GetProxyToOuterDelegate?
lazyboy 2015/05/26 16:32:54 Using GetProxyToOuterDelegate(). Done.
+
+ // Returns whether this manager belongs to a FTN that is a main frame in
nasko 2015/05/22 16:32:27 nit: s/FTN/FrameTreeNode/
lazyboy 2015/05/26 16:32:54 Done.
+ // an inner WebContents.
+ //
+ // TODO(lazyboy): Make this work correctly for subframes inside inner
+ // WebContents too.
+ bool IsGuest();
Charlie Reis 2015/05/22 23:44:30 ForInnerDelegate? I'm ok with mentioning "inner W
lazyboy 2015/05/26 16:32:54 Done.
// Returns the pending RenderFrameHost, or NULL if there is no pending one.
RenderFrameHostImpl* pending_frame_host() const {
@@ -414,6 +427,19 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
RenderViewHostImpl* render_view_host,
SiteInstance* instance);
+ // Called on the RFHM of the inner WebContents to create a proxy for this
+ // inner WebContents' frame in its outer WebContents' process.
Charlie Reis 2015/05/22 23:44:30 nit: WebContents's (Always use 's when the noun i
lazyboy 2015/05/26 16:32:54 Done.
+ // Returns the proxy routing ID.
+ int CreateOuterContentsProxy(SiteInstance* outer_contents_site_instance);
nasko 2015/05/22 16:32:27 Can we avoid using "Contents" here? The method see
Charlie Reis 2015/05/22 23:44:30 CreateOuterDelegateProxy(SiteInstance* outer_site_
lazyboy 2015/05/26 16:32:54 Done. The method seems to just create a proxy bas
+
+ // Called on the RFHM of outer WebContents to replace the initial frame in the
+ // outer WebContents with the proxy that has routing id
+ // |proxy_to_outer_contents_routing_id|.
+ void ReplaceWithInnerContentsProxy(int proxy_to_outer_contents_routing_id);
nasko 2015/05/22 16:32:27 Maybe named "SwapFrameWithProxy"? Those are all ba
lazyboy 2015/05/26 16:32:54 Done. Also, the comments about how WebContents are
+
+ // Sets the child RWHV for this frame that is part of an inner WebContents.
+ void SetRWHViewForInnerContents(RenderWidgetHostView* child_rwhv);
+
private:
friend class FrameTreeVisualizer;
friend class NavigatorTestWithBrowserSideNavigation;

Powered by Google App Engine
This is Rietveld 408576698