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:
|
||||
// HeadlessWebContentsObserver implementation.
|
||||
void DevToolsTargetReady() override {
|
||||
HeadlessAsyncDevTooledBrowserTest::DevToolsTargetReady();
|
||||
void RunDevTooledTest() override {
|
||||
browser_devtools_client_->SetRawProtocolListener(this);
|
||||
devtools_client_->GetRuntime()->GetExperimental()->AddObserver(this);
|
||||
devtools_client_->GetRuntime()->Enable();
|
||||
devtools_client_->GetRuntime()->GetExperimental()->AddBinding(
|
||||
headless::runtime::AddBindingParams::Builder()
|
||||
.SetName("sendProtocolMessage")
|
||||
.Build());
|
||||
browser_devtools_client_->SetRawProtocolListener(this);
|
||||
.Build(),
|
||||
base::BindOnce(&HeadlessProtocolBrowserTest::BindingCreated,
|
||||
base::Unretained(this)));
|
||||
}
|
||||
|
||||
void RunDevTooledTest() override {
|
||||
void BindingCreated(std::unique_ptr<headless::runtime::AddBindingResult>) {
|
||||
base::ScopedAllowBlockingForTesting allow_blocking;
|
||||
base::FilePath src_dir;
|
||||
CHECK(base::PathService::Get(base::DIR_SOURCE_ROOT, &src_dir));
|
||||
|
Reference in New Issue
Block a user