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..8b1c15323e230682df1c85646f28f0e5b01ad9b1 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -564,6 +564,7 @@ |
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 @@ |
CHECK(parent_proxy); |
blink::WebRemoteFrame* parent_web_frame = parent_proxy->web_frame(); |
+ blink::WebFrame* previous_sibling_web_frame = nullptr; |
+ RenderFrameProxy* previous_sibling_proxy = |
+ RenderFrameProxy::FromRoutingID(previous_sibling_routing_id); |
+ if (previous_sibling_proxy) |
+ previous_sibling_web_frame = previous_sibling_proxy->web_frame(); |
+ |
// 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); |