Index: content/renderer/render_frame_proxy.h |
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h |
index 54c63619290485850f4598cfce1c5526fb4e0b41..43fed899d458423acc4b10ed78ce34665f85001a 100644 |
--- a/content/renderer/render_frame_proxy.h |
+++ b/content/renderer/render_frame_proxy.h |
@@ -48,28 +48,50 @@ class CONTENT_EXPORT RenderFrameProxy |
public IPC::Sender, |
NON_EXPORTED_BASE(public blink::WebFrameClient) { |
public: |
+ // This method should be used to create a RenderFrameProxy, which will replace |
+ // an existing RenderFrame during its cross-process navigation from the |
+ // current process to a different one. |routing_id| will be ID of the newly |
+ // created RenderFrameProxy. |frame_routing_id| is the ID of the RenderFrame |
+ // to replace. |
+ static RenderFrameProxy* CreateProxyToReplaceFrame(int routing_id, |
+ int frame_routing_id); |
+ |
+ // This method should be used to create a RenderFrameProxy, when there isn't |
dcheng
2014/07/03 05:58:54
I don't think this comment is completely accurate.
ncarter (slow)
2014/07/14 17:35:07
Done.
|
+ // an existing RenderFrame. It happens when some other frame in the frame tree |
+ // of the document is navigating cross-process and a proxy for the new frame |
+ // is needed. |routing_id| will be the ID of the newly created |
+ // RenderFrameProxy. |parent_routing_id| is the routing ID of the |
+ // RenderFrameProxy to which the new frame is parented. |
dcheng
2014/07/03 05:58:54
To a reader, I don't think it's immediately obviou
dcheng
2014/07/03 05:58:54
To a reader, I don't think it's immediately obviou
ncarter (slow)
2014/07/14 17:35:07
Done.
|
+ // |render_view_routing_id| identifies the RenderView to be associated with |
+ // this frame. |
static RenderFrameProxy* CreateFrameProxy(int routing_id, |
- int frame_routing_id); |
+ int parent_routing_id, |
+ int render_view_routing_id); |
// Returns the RenderFrameProxy for the given routing ID. |
static RenderFrameProxy* FromRoutingID(int routing_id); |
+ // Returns the RenderFrameProxy given a WebFrame. |
+ static RenderFrameProxy* FromWebFrame(blink::WebFrame* web_frame); |
+ |
virtual ~RenderFrameProxy(); |
// IPC::Sender |
virtual bool Send(IPC::Message* msg) OVERRIDE; |
- RenderFrameImpl* render_frame() { |
- return render_frame_; |
- } |
- |
// Out-of-process child frames receive a signal from RenderWidgetCompositor |
// when a compositor frame has committed. |
void DidCommitCompositorFrame(); |
+ int routing_id() { return routing_id_; } |
dcheng
2014/07/03 05:58:54
Out of curiosity, is there a particular reason we
ncarter (slow)
2014/07/14 17:35:07
Done.
|
+ RenderViewImpl* render_view() { return render_view_; } |
+ blink::WebFrame* web_frame() { return web_frame_; } |
+ |
private: |
RenderFrameProxy(int routing_id, int frame_routing_id); |
+ void Init(blink::WebFrame* frame, RenderViewImpl* render_view); |
+ |
// IPC::Listener |
virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; |
@@ -79,14 +101,13 @@ class CONTENT_EXPORT RenderFrameProxy |
void OnBuffersSwapped(const FrameMsg_BuffersSwapped_Params& params); |
void OnCompositorFrameSwapped(const IPC::Message& message); |
- blink::WebFrame* GetWebFrame(); |
- |
- int routing_id_; |
- int frame_routing_id_; |
- RenderFrameImpl* render_frame_; |
- |
+ const int routing_id_; |
+ const int frame_routing_id_; |
+ blink::WebFrame* web_frame_; |
dcheng
2014/07/03 05:58:54
I think these fields could use some comments. Also
ncarter (slow)
2014/07/14 17:35:07
Yes, this will become a WebRemoteFrame in a later
|
scoped_refptr<ChildFrameCompositingHelper> compositing_helper_; |
+ RenderViewImpl* render_view_; |
+ |
DISALLOW_COPY_AND_ASSIGN(RenderFrameProxy); |
}; |