| 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..112aed61408b3a12375ebd3b7cf7714036764893 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 RenderWidgetHost of outer WebContents that can be used to fetch
|
| + // the last keyboard event.
|
| + // TODO(lazyboy): This can be removed once input events are sent directly to
|
| + // remote frames.
|
| + RenderWidgetHostImpl* GetOuterRenderWidgetHostForKeyboardInput();
|
| +
|
| 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,18 @@ 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, which much be part of an inner
|
| + // WebContents.
|
| + void SetRWHViewForInnerContents(RenderWidgetHostView* child_rwhv);
|
| +
|
| private:
|
| friend class FrameTreeVisualizer;
|
| friend class NavigatorTestWithBrowserSideNavigation;
|
|
|