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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1113393004: OOPIF: Specify previous sibling frames when creating new RenderFrames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 1ede182290c70954e15ed65404aa397303daab36..9511df2de7174b44c69fd7455d5b1a3a824d9d2a 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -564,6 +564,7 @@ RenderFrameImpl* RenderFrameImpl::FromRoutingID(int32 routing_id) {
void RenderFrameImpl::CreateFrame(
int routing_id,
int parent_routing_id,
+ int previous_sibling_routing_id,
int proxy_routing_id,
const FrameReplicationState& replicated_state,
CompositorDependencies* compositor_deps,
@@ -583,12 +584,19 @@ void RenderFrameImpl::CreateFrame(
CHECK(parent_proxy);
blink::WebRemoteFrame* parent_web_frame = parent_proxy->web_frame();
+ blink::WebFrame* previous_sibling_web_frame = nullptr;
nasko 2015/05/04 17:16:56 Wouldn't RFP::FromRoutingID return nullptr if not
alexmos 2015/05/04 21:18:04 It will, but that ends up in the previous_sibling_
nasko 2015/05/04 22:02:13 Acknowledged.
+ if (RenderFrameProxy* previous_sibling_proxy =
+ RenderFrameProxy::FromRoutingID(previous_sibling_routing_id)) {
nasko 2015/05/04 17:16:56 nit: Separate the variable declaration and functio
alexmos 2015/05/04 21:18:04 Done.
+ previous_sibling_web_frame = previous_sibling_proxy->web_frame();
+ }
+
nasko 2015/05/04 17:16:56 nit: What about (D)CHECKing the condition of MSG_R
alexmos 2015/05/04 21:18:04 That's not necessarily the case, I think -- there
nasko 2015/05/04 22:02:13 Acknowledged.
// Create the RenderFrame and WebLocalFrame, linking the two.
render_frame =
RenderFrameImpl::Create(parent_proxy->render_view(), routing_id);
web_frame = parent_web_frame->createLocalChild(
WebString::fromUTF8(replicated_state.name),
- ContentToWebSandboxFlags(replicated_state.sandbox_flags), render_frame);
+ ContentToWebSandboxFlags(replicated_state.sandbox_flags), render_frame,
+ previous_sibling_web_frame);
} else {
RenderFrameProxy* proxy =
RenderFrameProxy::FromRoutingID(proxy_routing_id);

Powered by Google App Engine
This is Rietveld 408576698