Chromium Code Reviews| 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); |
| }; |