Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(854)

Unified Diff: headless/lib/browser/headless_web_contents_impl.cc

Issue 2813953002: Add HeadlessTabSocket (Closed)
Patch Set: Change HeadlessTabSocketImpl::SetListener Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
« no previous file with comments | « headless/lib/browser/headless_web_contents_impl.h ('k') | headless/lib/headless_web_contents_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698