WebRemoteFrame* WebRemoteFrameImpl::createRemoteChild(WebTreeScopeType scope, const WebString& name, const WebString& uniqueName, WebSandboxFlags sandboxFlags, WebRemoteFrameClient* client, WebFrame* opener) { WebRemoteFrameImpl* child = WebRemoteFrameImpl::create(scope, client, opener); appendChild(child); RawPtr<RemoteFrameOwner> owner = RemoteFrameOwner::create(static_cast<SandboxFlags>(sandboxFlags), WebFrameOwnerProperties()); child->initializeCoreFrame(frame()->host(), owner.get(), name, uniqueName); return child; }
WebRemoteFrame* WebRemoteFrameImpl::createRemoteChild(WebTreeScopeType scope, const WebString& name, WebSandboxFlags sandboxFlags, WebRemoteFrameClient* client) { WebRemoteFrameImpl* child = toWebRemoteFrameImpl(WebRemoteFrame::create(scope, client)); WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner>>::AddResult result = m_ownersForChildren.add(child, RemoteBridgeFrameOwner::create(nullptr, static_cast<SandboxFlags>(sandboxFlags), WebFrameOwnerProperties())); appendChild(child); child->initializeCoreFrame(frame()->host(), result.storedValue->value.get(), name, nullAtom); return child; }
WebRemoteFrame* WebRemoteFrameImpl::createRemoteChild(const WebString& name, WebRemoteFrameClient* client) { WebRemoteFrameImpl* child = toWebRemoteFrameImpl(WebRemoteFrame::create(client)); WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner> >::AddResult result = m_ownersForChildren.add(child, adoptPtrWillBeNoop(new PlaceholderFrameOwner)); appendChild(child); child->initializeCoreFrame(frame()->host(), result.storedValue->value.get(), name); return child; }
WebRemoteFrameImpl* WebRemoteFrameImpl::create(WebTreeScopeType scope, WebRemoteFrameClient* client, WebFrame* opener) { WebRemoteFrameImpl* frame = new WebRemoteFrameImpl(scope, client); frame->setOpener(opener); #if ENABLE(OILPAN) return frame; #else return adoptRef(frame).leakRef(); #endif }