summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_frame_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/render_frame_impl.cc')
-rw-r--r--content/renderer/render_frame_impl.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 043b33c..fba4b77 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -565,6 +565,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,
@@ -584,12 +585,19 @@ void RenderFrameImpl::CreateFrame(
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);