std::unique_ptr<WebContents>

This commit is contained in:
Jeremy Apthorp 2018-09-14 17:16:22 -07:00 committed by Aleksei Kuzmin
parent 8060e915c2
commit a5b09e25ea
4 changed files with 24 additions and 19 deletions

View file

@ -4,6 +4,8 @@
#include "atom/browser/web_view_guest_delegate.h"
#include <memory>
#include "atom/browser/api/atom_api_web_contents.h"
#include "atom/common/native_mate_converters/gurl_converter.h"
#include "content/browser/web_contents/web_contents_impl.h"
@ -104,13 +106,16 @@ content::WebContents* WebViewGuestDelegate::CreateNewGuestWindow(
guest_params.initial_size =
embedder_web_contents_->GetContainerBounds().size();
guest_params.context = embedder_web_contents_->GetNativeView();
auto* guest_contents = content::WebContents::Create(guest_params);
std::unique_ptr<content::WebContents> guest_contents =
content::WebContents::Create(guest_params);
content::RenderWidgetHost* render_widget_host =
guest_contents->GetRenderViewHost()->GetWidget();
auto* guest_contents_impl =
static_cast<content::WebContentsImpl*>(guest_contents);
guest_contents_impl->GetView()->CreateViewForWidget(
guest_contents->GetRenderViewHost()->GetWidget(), false);
static_cast<content::WebContentsImpl*>(guest_contents.release());
guest_contents_impl->GetView()->CreateViewForWidget(render_widget_host,
false);
return guest_contents;
return guest_contents_impl;
}
} // namespace atom