diff options
author | kenrb@chromium.org <kenrb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-03 22:21:55 +0000 |
---|---|---|
committer | kenrb@chromium.org <kenrb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-03 22:21:55 +0000 |
commit | 95d3182359968c2ede57e70e05b80d93ccdf2bf5 (patch) | |
tree | 896a720387bb30a39756d151575049a13a8e652a /content/browser/frame_host/render_frame_host_impl.h | |
parent | 9e9ae7296cfed7bfc612b0e3eeef7ad0c936b1ba (diff) | |
download | chromium_src-95d3182359968c2ede57e70e05b80d93ccdf2bf5.zip chromium_src-95d3182359968c2ede57e70e05b80d93ccdf2bf5.tar.gz chromium_src-95d3182359968c2ede57e70e05b80d93ccdf2bf5.tar.bz2 |
Adding RenderWidgetHostViewChildFrame for OOPIF view.
RenderWidgetHostViewChildFrame becomes the view class for child frames being
rendered in a different process from their parent. CrossProcessFrameConnector
is a supporting class for that, encapsulating state specific to the
parent/child frame relationship.
RenderWidgetHostViewGuest is made a subclass of RenderWidgetHostViewChildFrame
in order to keep them synchronized. Gradually we will move all functionality
from RWHVGuest to RWHVChildFrame and then get rid of RWHVGuest altogether.
TBR=sadrul
BUG=325803
Review URL: https://codereview.chromium.org/100473010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242942 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/frame_host/render_frame_host_impl.h')
-rw-r--r-- | content/browser/frame_host/render_frame_host_impl.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h index 155b427..ebe50a6 100644 --- a/content/browser/frame_host/render_frame_host_impl.h +++ b/content/browser/frame_host/render_frame_host_impl.h @@ -19,6 +19,7 @@ class FilePath; namespace content { +class CrossProcessFrameConnector; class FrameTree; class FrameTreeNode; class RenderFrameHostDelegate; @@ -54,6 +55,18 @@ class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost { RenderViewHostImpl* render_view_host() { return render_view_host_; } RenderFrameHostDelegate* delegate() { return delegate_; } + // This function is called when this is a swapped out RenderFrameHost that + // lives in the same process as the parent frame. The + // |cross_process_frame_connector| allows the non-swapped-out + // RenderFrameHost for a frame to communicate with the parent process + // so that it may composite drawing data. + // + // Ownership is not transfered. + void set_cross_process_frame_connector( + CrossProcessFrameConnector* cross_process_frame_connector) { + cross_process_frame_connector_ = cross_process_frame_connector; + } + protected: friend class RenderFrameHostFactory; @@ -89,6 +102,18 @@ class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost { RenderFrameHostDelegate* delegate_; + // |cross_process_frame_connector_| passes messages from an out-of-process + // child frame to the parent process for compositing. + // + // This is only non-NULL when this is the swapped out RenderFrameHost in + // the same site instance as this frame's parent. + // + // See the class comment above CrossProcessFrameConnector for more + // information. + // + // This will move to RenderFrameProxyHost when that class is created. + CrossProcessFrameConnector* cross_process_frame_connector_; + // Reference to the whole frame tree that this RenderFrameHost belongs too. // Allows this RenderFrameHost to add and remove nodes in response to // messages from the renderer requesting DOM manipulation. |