Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1369)

Unified Diff: content/browser/frame_host/render_frame_proxy_host.h

Issue 345823002: Move ownership of ChildFrameCompositingHelper from frame to proxy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_proxy_host.h
diff --git a/content/browser/frame_host/render_frame_proxy_host.h b/content/browser/frame_host/render_frame_proxy_host.h
index f839725892ab5b55eeafd27db80657238b7fe80a..218bcc411df0d4cbbcd4c6e953306baf57aed725 100644
--- a/content/browser/frame_host/render_frame_proxy_host.h
+++ b/content/browser/frame_host/render_frame_proxy_host.h
@@ -11,12 +11,14 @@
#include "ipc/ipc_listener.h"
#include "ipc/ipc_sender.h"
+namespace content {
+
+class CrossProcessFrameConnector;
class FrameTreeNode;
class RenderProcessHost;
class RenderFrameHostImpl;
class RenderViewHostImpl;
-
-namespace content {
+class RenderWidgetHostView;
// When a page's frames are rendered by multiple processes, each renderer has a
// full copy of the frame tree. It has full RenderFrames for the frames it is
@@ -69,6 +71,8 @@ class RenderFrameProxyHost
return site_instance_.get();
}
+ void SetChildRWHView(RenderWidgetHostView* view);
+
// TODO(nasko): The following methods should be removed once we don't have a
// swapped out state on RenderFrameHosts. See https://crbug.com/357747.
RenderFrameHostImpl* render_frame_host() {
@@ -85,10 +89,14 @@ class RenderFrameProxyHost
// IPC::Sender
virtual bool Send(IPC::Message* msg) OVERRIDE;
- private:
// IPC::Listener
virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
+ CrossProcessFrameConnector* cross_process_frame_connector() {
+ return cross_process_frame_connector_.get();
+ }
+
+ private:
// This RenderFrameProxyHost's routing id.
int routing_id_;
@@ -98,6 +106,12 @@ class RenderFrameProxyHost
// The node in the frame tree where this proxy is located.
FrameTreeNode* frame_tree_node_;
+ // When a RenderFrameHost is in a different process from its parent in the
+ // frame tree, this class connects its associated RenderWidgetHostView
+ // to this RenderFrameProxyHost, which corresponds to the same frame in the
+ // parent's renderer process.
+ scoped_ptr<CrossProcessFrameConnector> cross_process_frame_connector_;
+
// TODO(nasko): This can be removed once we don't have a swapped out state on
// RenderFrameHosts. See https://crbug.com/357747.
scoped_ptr<RenderFrameHostImpl> render_frame_host_;

Powered by Google App Engine
This is Rietveld 408576698