summaryrefslogtreecommitdiffstats
path: root/content/browser/frame_host/render_frame_host_impl.h
diff options
context:
space:
mode:
authorkenrb@chromium.org <kenrb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-03 22:21:55 +0000
committerkenrb@chromium.org <kenrb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-03 22:21:55 +0000
commit95d3182359968c2ede57e70e05b80d93ccdf2bf5 (patch)
tree896a720387bb30a39756d151575049a13a8e652a /content/browser/frame_host/render_frame_host_impl.h
parent9e9ae7296cfed7bfc612b0e3eeef7ad0c936b1ba (diff)
downloadchromium_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.h25
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.