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

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

Issue 310413004: Move ownership of CrossProcessFrameConnector to RenderFrameProxyHost. (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..a8fd10cf0a0c3f2a688ad9daa2827c4c506a0cbd 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,12 @@ class RenderFrameProxyHost
return site_instance_.get();
}
+ void SetView(RenderWidgetHostView* view);
+
+ int routing_id() {
+ return routing_id_;
+ }
+
// 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 +93,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 +110,12 @@ class RenderFrameProxyHost
// The node in the frame tree where this proxy is located.
FrameTreeNode* frame_tree_node_;
+ // When a RrenderFrameHost 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