Skip to content

Commit

Permalink
headless: Move creation of DevTools clients after browser startup
Browse files Browse the repository at this point in the history
This prepares for replacing GetTaskRunnerForThread() inside
HeadlessDevToolsClient::Create() with
base::CreateSingleThreadTaskRunnerWithTraits(), which can only be
called after browser initialization.

Bug: 878356
Change-Id: I851788ee9926cddd4662876c84e98a1fb9d0d47e
Reviewed-on: https://chromium-review.googlesource.com/1193367
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586698}
  • Loading branch information
betasheet authored and Commit Bot committed Aug 28, 2018
1 parent f4d9a94 commit 4948f93
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion headless/app/headless_shell.cc
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ base::FilePath GetSSLKeyLogFile(const base::CommandLine* command_line) {

HeadlessShell::HeadlessShell()
: browser_(nullptr),
devtools_client_(HeadlessDevToolsClient::Create()),
#if !defined(CHROME_MULTIPLE_DLL_CHILD)
web_contents_(nullptr),
browser_context_(nullptr),
Expand All @@ -155,6 +154,7 @@ HeadlessShell::~HeadlessShell() = default;
#if !defined(CHROME_MULTIPLE_DLL_CHILD)
void HeadlessShell::OnStart(HeadlessBrowser* browser) {
browser_ = browser;
devtools_client_ = HeadlessDevToolsClient::Create();
file_task_runner_ = base::CreateSequencedTaskRunnerWithTraits(
{base::MayBlock(), base::TaskPriority::BEST_EFFORT});

Expand Down
3 changes: 2 additions & 1 deletion headless/lib/headless_browser_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ class CrashReporterTest : public HeadlessBrowserTest,
public HeadlessWebContents::Observer,
inspector::ExperimentalObserver {
public:
CrashReporterTest() : devtools_client_(HeadlessDevToolsClient::Create()) {}
CrashReporterTest() {}
~CrashReporterTest() override = default;

void SetUp() override {
Expand All @@ -439,6 +439,7 @@ class CrashReporterTest : public HeadlessBrowserTest,
// HeadlessWebContents::Observer implementation:
void DevToolsTargetReady() override {
EXPECT_TRUE(web_contents_->GetDevToolsTarget());
devtools_client_ = HeadlessDevToolsClient::Create();
web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get());
devtools_client_->GetInspector()->GetExperimental()->AddObserver(this);
}
Expand Down
5 changes: 2 additions & 3 deletions headless/lib/headless_browser_context_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ class HeadlessBrowserContextIsolationTest
: public HeadlessAsyncDevTooledBrowserTest {
public:
HeadlessBrowserContextIsolationTest()
: browser_context_(nullptr),
web_contents2_(nullptr),
devtools_client2_(HeadlessDevToolsClient::Create()) {
: browser_context_(nullptr), web_contents2_(nullptr) {
EXPECT_TRUE(embedded_test_server()->Start());
}

Expand All @@ -60,6 +58,7 @@ class HeadlessBrowserContextIsolationTest
return;
}

devtools_client2_ = HeadlessDevToolsClient::Create();
web_contents2_->GetDevToolsTarget()->AttachClient(devtools_client2_.get());
HeadlessAsyncDevTooledBrowserTest::DevToolsTargetReady();
}
Expand Down
6 changes: 3 additions & 3 deletions headless/lib/headless_web_contents_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -447,9 +447,7 @@ class HeadlessWebContentsBeginFrameControlTest
public headless_experimental::ExperimentalObserver,
public page::Observer {
public:
HeadlessWebContentsBeginFrameControlTest()
: browser_devtools_client_(HeadlessDevToolsClient::Create()),
devtools_client_(HeadlessDevToolsClient::Create()) {}
HeadlessWebContentsBeginFrameControlTest() {}

void SetUp() override {
EnablePixelOutput();
Expand All @@ -463,6 +461,8 @@ class HeadlessWebContentsBeginFrameControlTest
std::unique_ptr<headless_experimental::BeginFrameResult> result) {}

void RunTest() {
browser_devtools_client_ = HeadlessDevToolsClient::Create();
devtools_client_ = HeadlessDevToolsClient::Create();
browser_context_ = browser()->CreateBrowserContextBuilder().Build();
browser()->SetDefaultBrowserContext(browser_context_);
browser()->GetDevToolsTarget()->AttachClient(
Expand Down
4 changes: 2 additions & 2 deletions headless/test/headless_browser_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,6 @@ void HeadlessBrowserTest::FinishAsynchronousTest() {
HeadlessAsyncDevTooledBrowserTest::HeadlessAsyncDevTooledBrowserTest()
: browser_context_(nullptr),
web_contents_(nullptr),
devtools_client_(HeadlessDevToolsClient::Create()),
browser_devtools_client_(HeadlessDevToolsClient::Create()),
render_process_exited_(false) {}

HeadlessAsyncDevTooledBrowserTest::~HeadlessAsyncDevTooledBrowserTest() =
Expand All @@ -252,6 +250,8 @@ void HeadlessAsyncDevTooledBrowserTest::RenderProcessExited(
}

void HeadlessAsyncDevTooledBrowserTest::RunTest() {
devtools_client_ = HeadlessDevToolsClient::Create();
browser_devtools_client_ = HeadlessDevToolsClient::Create();
interceptor_ = std::make_unique<TestNetworkInterceptor>();
HeadlessBrowserContext::Builder builder =
browser()->CreateBrowserContextBuilder();
Expand Down

0 comments on commit 4948f93

Please sign in to comment.