| Index: headless/lib/browser/headless_web_contents_impl.cc
|
| diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
| index a967c3c0f9bbd69a55b133e0ef6b1af9ea8f412c..ad43eb9b12e01dc9497c381538041e3892fdeeb7 100644
|
| --- a/headless/lib/browser/headless_web_contents_impl.cc
|
| +++ b/headless/lib/browser/headless_web_contents_impl.cc
|
| @@ -31,6 +31,7 @@
|
| #include "headless/lib/browser/headless_browser_impl.h"
|
| #include "headless/lib/browser/headless_browser_main_parts.h"
|
| #include "headless/lib/browser/headless_devtools_client_impl.h"
|
| +#include "headless/lib/browser/headless_tab_socket_impl.h"
|
| #include "printing/features/features.h"
|
| #include "services/service_manager/public/cpp/interface_registry.h"
|
|
|
| @@ -145,6 +146,14 @@ std::unique_ptr<HeadlessWebContentsImpl> HeadlessWebContentsImpl::Create(
|
| content::WebContents::Create(create_params),
|
| builder->browser_context_));
|
|
|
| + if (builder->create_tab_socket_) {
|
| + headless_web_contents->headless_tab_socket_ =
|
| + base::MakeUnique<HeadlessTabSocketImpl>();
|
| + builder->AddMojoService(base::Bind(
|
| + &HeadlessTabSocketImpl::CreateMojoService,
|
| + base::Unretained(headless_web_contents->headless_tab_socket_.get())));
|
| + }
|
| +
|
| headless_web_contents->mojo_services_ = std::move(builder->mojo_services_);
|
| headless_web_contents->InitializeScreen(builder->window_size_);
|
| if (!headless_web_contents->OpenURL(builder->initial_url_))
|
| @@ -292,6 +301,10 @@ HeadlessBrowserContextImpl* HeadlessWebContentsImpl::browser_context() const {
|
| return browser_context_;
|
| }
|
|
|
| +HeadlessTabSocket* HeadlessWebContentsImpl::GetHeadlessTabSocket() const {
|
| + return headless_tab_socket_.get();
|
| +}
|
| +
|
| HeadlessWebContents::Builder::Builder(
|
| HeadlessBrowserContextImpl* browser_context)
|
| : browser_context_(browser_context),
|
| @@ -321,6 +334,12 @@ HeadlessWebContents::Builder& HeadlessWebContents::Builder::AddMojoService(
|
| return *this;
|
| }
|
|
|
| +HeadlessWebContents::Builder& HeadlessWebContents::Builder::CreateTabSocket(
|
| + bool create_tab_socket) {
|
| + create_tab_socket_ = create_tab_socket;
|
| + return *this;
|
| +}
|
| +
|
| HeadlessWebContents* HeadlessWebContents::Builder::Build() {
|
| return browser_context_->CreateWebContents(this);
|
| }
|
|
|