Fix race in headless protocol tests
We should wait for Runtime.addBinding to finish before proceeding with the test. Bug: none Change-Id: I06be299d5f74c69818b92c09eaea6c422ac0bed2 Reviewed-on: https://chromium-review.googlesource.com/c/1483361 Reviewed-by: Andrey Kosyakov <caseq@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#634782}
This commit is contained in:

committed by
Commit Bot

parent
5153a4caee
commit
d29523e9fd
@ -66,18 +66,19 @@ class HeadlessProtocolBrowserTest
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// HeadlessWebContentsObserver implementation.
|
// HeadlessWebContentsObserver implementation.
|
||||||
void DevToolsTargetReady() override {
|
void RunDevTooledTest() override {
|
||||||
HeadlessAsyncDevTooledBrowserTest::DevToolsTargetReady();
|
browser_devtools_client_->SetRawProtocolListener(this);
|
||||||
devtools_client_->GetRuntime()->GetExperimental()->AddObserver(this);
|
devtools_client_->GetRuntime()->GetExperimental()->AddObserver(this);
|
||||||
devtools_client_->GetRuntime()->Enable();
|
devtools_client_->GetRuntime()->Enable();
|
||||||
devtools_client_->GetRuntime()->GetExperimental()->AddBinding(
|
devtools_client_->GetRuntime()->GetExperimental()->AddBinding(
|
||||||
headless::runtime::AddBindingParams::Builder()
|
headless::runtime::AddBindingParams::Builder()
|
||||||
.SetName("sendProtocolMessage")
|
.SetName("sendProtocolMessage")
|
||||||
.Build());
|
.Build(),
|
||||||
browser_devtools_client_->SetRawProtocolListener(this);
|
base::BindOnce(&HeadlessProtocolBrowserTest::BindingCreated,
|
||||||
|
base::Unretained(this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunDevTooledTest() override {
|
void BindingCreated(std::unique_ptr<headless::runtime::AddBindingResult>) {
|
||||||
base::ScopedAllowBlockingForTesting allow_blocking;
|
base::ScopedAllowBlockingForTesting allow_blocking;
|
||||||
base::FilePath src_dir;
|
base::FilePath src_dir;
|
||||||
CHECK(base::PathService::Get(base::DIR_SOURCE_ROOT, &src_dir));
|
CHECK(base::PathService::Get(base::DIR_SOURCE_ROOT, &src_dir));
|
||||||
|
Reference in New Issue
Block a user