Index: Source/web/WebRemoteFrameImpl.cpp |
diff --git a/Source/web/WebRemoteFrameImpl.cpp b/Source/web/WebRemoteFrameImpl.cpp |
index 5e5b42a42629b83fad028a9b2b38fb46ecddc7d1..22ea043eb00c4b8850a27461a2aa8c0fda35c61a 100644 |
--- a/Source/web/WebRemoteFrameImpl.cpp |
+++ b/Source/web/WebRemoteFrameImpl.cpp |
@@ -714,12 +714,18 @@ WebString WebRemoteFrameImpl::layerTreeAsText(bool showDebugInfo) const |
return WebString(); |
} |
+// TODO(alexmos): Remove once Chromium side is updated to take previous sibling. |
WebLocalFrame* WebRemoteFrameImpl::createLocalChild(const WebString& name, WebSandboxFlags sandboxFlags, WebFrameClient* client) |
{ |
+ return createLocalChild(name, sandboxFlags, client, lastChild()); |
+} |
+ |
+WebLocalFrame* WebRemoteFrameImpl::createLocalChild(const WebString& name, WebSandboxFlags sandboxFlags, WebFrameClient* client, WebFrame* previousSibling) |
+{ |
WebLocalFrameImpl* child = toWebLocalFrameImpl(WebLocalFrame::create(client)); |
WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner>>::AddResult result = |
m_ownersForChildren.add(child, RemoteBridgeFrameOwner::create(child, static_cast<SandboxFlags>(sandboxFlags))); |
- appendChild(child); |
+ insertAfter(child, previousSibling); |
// FIXME: currently this calls LocalFrame::init() on the created LocalFrame, which may |
// result in the browser observing two navigations to about:blank (one from the initial |
// frame creation, and one from swapping it into the remote process). FrameLoader might |