Chromium Code Reviews| 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..a49398537831fd34ba132257c937796251acf143 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 FrameTreeNode id of the outer WebContents that is hosting |
| + // this (inner) WebContents. |
| + // Returns -1 if this WebContents does not have an outer WebContents. |
| + virtual int GetOuterDelegateFrameTreeNodeID() = 0; |
| + |
| protected: |
| virtual ~Delegate() {} |
| }; |
| @@ -220,7 +225,21 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { |
| // there is no current one. |
| RenderWidgetHostView* GetRenderWidgetHostView() const; |
| + // Returns the RVH of outer WebContents that can used to fetch the last |
|
nasko
2015/05/28 22:13:46
nit: RenderViewHost of the outer
lazyboy
2015/05/29 00:02:24
Done.
|
| + // keyboard event. |
| + // TODO(lazyboy): This can be removed once we input events are sent directly |
|
nasko
2015/05/28 22:13:46
nit: Extra "we"?
nit: Input events won't be sent t
lazyboy
2015/05/29 00:02:24
Done.
|
| + // to remote frames. |
| + RenderViewHostImpl* GetOuterRenderViewHostForKeyboardInput(); |
| + |
| RenderFrameProxyHost* GetProxyToParent(); |
| + 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(); |
| // Returns the pending RenderFrameHost, or NULL if there is no pending one. |
| RenderFrameHostImpl* pending_frame_host() const { |
| @@ -414,6 +433,17 @@ 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's frame in its outer WebContents's process. |
| + // Returns the proxy routing ID. |
| + int CreateOuterDelegateProxy(SiteInstance* outer_contents_site_instance); |
| + |
| + // Swaps the frame with the given proxy. |
| + void SwapFrameWithProxy(int proxy_to_outer_delegate_routing_id); |
| + |
| + // 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; |