| Index: content/browser/frame_host/render_frame_host_impl.h
|
| diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
|
| index a0fb3327ff2b6b81ac3bb5b0144d17057648ffea..2acebc6115d3917b601d113ab8bdb44a3c5f0333 100644
|
| --- a/content/browser/frame_host/render_frame_host_impl.h
|
| +++ b/content/browser/frame_host/render_frame_host_impl.h
|
| @@ -36,6 +36,7 @@ class CrossSiteTransferringRequest;
|
| class FrameTree;
|
| class FrameTreeNode;
|
| class RenderFrameHostDelegate;
|
| +class RenderFrameProxyHost;
|
| class RenderProcessHost;
|
| class RenderViewHostImpl;
|
| struct ContextMenuParams;
|
| @@ -92,6 +93,10 @@ class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost {
|
| cross_process_frame_connector_ = cross_process_frame_connector;
|
| }
|
|
|
| + void set_render_frame_proxy_host(RenderFrameProxyHost* proxy) {
|
| + render_frame_proxy_host_ = proxy;
|
| + }
|
| +
|
| // Returns a bitwise OR of bindings types that have been enabled for this
|
| // RenderFrameHostImpl's RenderView. See BindingsPolicy for details.
|
| // TODO(creis): Make bindings frame-specific, to support cases like <webview>.
|
| @@ -110,12 +115,12 @@ class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost {
|
| bool should_replace_current_entry);
|
|
|
| // Tells the renderer that this RenderFrame is being swapped out for one in a
|
| - // different renderer process. It should run its unload handler and move to
|
| - // a blank document. The renderer should preserve the Frame object until it
|
| - // exits, in case we come back. The renderer can exit if it has no other
|
| - // active RenderFrames, but not until WasSwappedOut is called (when it is no
|
| - // longer visible).
|
| - void SwapOut();
|
| + // different renderer process. It should run its unload handler, move to
|
| + // a blank document and create a RenderFrameProxy to replace the RenderFrame.
|
| + // The renderer should preserve the Proxy object until it exits, in case we
|
| + // come back. The renderer can exit if it has no other active RenderFrames,
|
| + // but not until WasSwappedOut is called (when it is no longer visible).
|
| + void SwapOut(RenderFrameProxyHost* proxy);
|
|
|
| void OnSwappedOut(bool timed_out);
|
| bool is_swapped_out() { return is_swapped_out_; }
|
| @@ -261,6 +266,12 @@ class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost {
|
| // This will move to RenderFrameProxyHost when that class is created.
|
| CrossProcessFrameConnector* cross_process_frame_connector_;
|
|
|
| + // The proxy created for this RenderFrameHost. It is used to send and receive
|
| + // IPC messages while in swapped out state.
|
| + // TODO(nasko): This can be removed once we don't have a swapped out state on
|
| + // RenderFrameHosts. See https://crbug.com/357747.
|
| + RenderFrameProxyHost* render_frame_proxy_host_;
|
| +
|
| // Reference to the whole frame tree that this RenderFrameHost belongs to.
|
| // Allows this RenderFrameHost to add and remove nodes in response to
|
| // messages from the renderer requesting DOM manipulation.
|
|
|