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

Side by Side Diff: content/renderer/render_frame_impl.h

Issue 1312643002: Plumb opener information when creating RenderFrames and RenderFrameProxies for subframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@opener-CreateOpenerProxiesIfNeeded
Patch Set: Add NewFrameProxy plumbing and test Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // TODO(creis): We should structure this so that |SetWebFrame| isn't needed. 136 // TODO(creis): We should structure this so that |SetWebFrame| isn't needed.
137 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id); 137 static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id);
138 138
139 // Creates a new RenderFrame with |routing_id| as a child of the RenderFrame 139 // Creates a new RenderFrame with |routing_id| as a child of the RenderFrame
140 // identified by |parent_routing_id| or as the top-level frame if the latter 140 // identified by |parent_routing_id| or as the top-level frame if the latter
141 // is MSG_ROUTING_NONE. If |proxy_routing_id| is MSG_ROUTING_NONE, it creates 141 // is MSG_ROUTING_NONE. If |proxy_routing_id| is MSG_ROUTING_NONE, it creates
142 // the Blink WebLocalFrame and inserts it into the frame tree after the frame 142 // the Blink WebLocalFrame and inserts it into the frame tree after the frame
143 // identified by |previous_sibling_routing_id|, or as the first child if 143 // identified by |previous_sibling_routing_id|, or as the first child if
144 // |previous_sibling_routing_id| is MSG_ROUTING_NONE. Otherwise, the frame is 144 // |previous_sibling_routing_id| is MSG_ROUTING_NONE. Otherwise, the frame is
145 // semi-orphaned until it commits, at which point it replaces the proxy 145 // semi-orphaned until it commits, at which point it replaces the proxy
146 // identified by |proxy_routing_id|. Note: This is called only when 146 // identified by |proxy_routing_id|. The frame's opener is set to the frame
147 // identified by |opener_routing_id|. Note: This is called only when
147 // RenderFrame is being created in response to IPC message from the browser 148 // RenderFrame is being created in response to IPC message from the browser
148 // process. All other frame creation is driven through Blink and Create. 149 // process. All other frame creation is driven through Blink and Create.
149 static void CreateFrame(int routing_id, 150 static void CreateFrame(int routing_id,
150 int parent_routing_id, 151 int parent_routing_id,
151 int previous_sibling_routing_id, 152 int previous_sibling_routing_id,
152 int proxy_routing_id, 153 int proxy_routing_id,
154 int opener_routing_id,
153 const FrameReplicationState& replicated_state, 155 const FrameReplicationState& replicated_state,
154 CompositorDependencies* compositor_deps, 156 CompositorDependencies* compositor_deps,
155 const FrameMsg_NewFrame_WidgetParams& params); 157 const FrameMsg_NewFrame_WidgetParams& params);
156 158
157 // Returns the RenderFrameImpl for the given routing ID. 159 // Returns the RenderFrameImpl for the given routing ID.
158 static RenderFrameImpl* FromRoutingID(int routing_id); 160 static RenderFrameImpl* FromRoutingID(int routing_id);
159 161
160 // Just like RenderFrame::FromWebFrame but returns the implementation. 162 // Just like RenderFrame::FromWebFrame but returns the implementation.
161 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame); 163 static RenderFrameImpl* FromWebFrame(blink::WebFrame* web_frame);
162 164
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 #endif 1040 #endif
1039 1041
1040 base::WeakPtrFactory<RenderFrameImpl> weak_factory_; 1042 base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
1041 1043
1042 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); 1044 DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
1043 }; 1045 };
1044 1046
1045 } // namespace content 1047 } // namespace content
1046 1048
1047 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_ 1049 #endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698