Update WebContents::Clone() to return a unique_ptr.
This CL is a refactor with no intended behavior change.
Bug: 832879
Change-Id: I6d54051f50ed4b0c46f821872aafea1ba4b3fd32
Reviewed-on: https://chromium-review.googlesource.com/1040590
Reviewed-by: Avi Drissman <[email protected]>
Commit-Queue: Erik Chen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#555813}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 78cd421..3a9d68d 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1690,7 +1690,7 @@
SendPageMessage(new PageMsg_FreezePage(MSG_ROUTING_NONE));
}
-WebContents* WebContentsImpl::Clone() {
+std::unique_ptr<WebContents> WebContentsImpl::Clone() {
// We use our current SiteInstance since the cloned entry will use it anyway.
// We pass our own opener so that the cloned page can access it if it was set
// before.
@@ -1700,10 +1700,11 @@
RenderFrameHostImpl* opener_rfh = nullptr;
if (opener)
opener_rfh = opener->current_frame_host();
- WebContentsImpl* tc = CreateWithOpener(create_params, opener_rfh);
+ std::unique_ptr<WebContentsImpl> tc =
+ base::WrapUnique(CreateWithOpener(create_params, opener_rfh));
tc->GetController().CopyStateFrom(controller_, true);
for (auto& observer : observers_)
- observer.DidCloneToNewWebContents(this, tc);
+ observer.DidCloneToNewWebContents(this, tc.get());
return tc;
}