Index: headless/lib/headless_devtools_client_browsertest.cc |
diff --git a/headless/lib/headless_devtools_client_browsertest.cc b/headless/lib/headless_devtools_client_browsertest.cc |
index 5aa7e76d2bb74bb7834cf936932d776d195a2566..0bb4bf1be6ae3d26991615743860a6899822f886 100644 |
--- a/headless/lib/headless_devtools_client_browsertest.cc |
+++ b/headless/lib/headless_devtools_client_browsertest.cc |
@@ -5,6 +5,7 @@ |
#include <memory> |
#include "base/json/json_reader.h" |
+#include "base/run_loop.h" |
#include "content/public/browser/render_widget_host_view.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/url_constants.h" |
@@ -63,7 +64,11 @@ class HeadlessDevToolsClientNavigationTest |
.SetUrl(embedded_test_server()->GetURL("/hello.html").spec()) |
.Build(); |
devtools_client_->GetPage()->GetExperimental()->AddObserver(this); |
- devtools_client_->GetPage()->Enable(); |
+ base::RunLoop run_loop; |
+ base::MessageLoop::ScopedNestableTaskAllower nest_loop( |
+ base::MessageLoop::current()); |
+ devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); |
+ run_loop.Run(); |
devtools_client_->GetPage()->Navigate(std::move(params)); |
} |
@@ -156,8 +161,13 @@ class HeadlessDevToolsClientObserverTest |
public: |
void RunDevTooledTest() override { |
EXPECT_TRUE(embedded_test_server()->Start()); |
+ base::RunLoop run_loop; |
devtools_client_->GetNetwork()->AddObserver(this); |
- devtools_client_->GetNetwork()->Enable(); |
+ devtools_client_->GetNetwork()->Enable(run_loop.QuitClosure()); |
+ base::MessageLoop::ScopedNestableTaskAllower nest_loop( |
+ base::MessageLoop::current()); |
+ run_loop.Run(); |
+ |
devtools_client_->GetPage()->Navigate( |
embedded_test_server()->GetURL("/hello.html").spec()); |
} |
@@ -192,6 +202,12 @@ class HeadlessDevToolsClientExperimentalTest |
public: |
void RunDevTooledTest() override { |
EXPECT_TRUE(embedded_test_server()->Start()); |
+ base::RunLoop run_loop; |
+ devtools_client_->GetPage()->GetExperimental()->AddObserver(this); |
+ devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); |
+ base::MessageLoop::ScopedNestableTaskAllower nest_loop( |
+ base::MessageLoop::current()); |
+ run_loop.Run(); |
// Check that experimental commands require parameter objects. |
devtools_client_->GetRuntime() |
->GetExperimental() |
@@ -205,8 +221,6 @@ class HeadlessDevToolsClientExperimentalTest |
devtools_client_->GetRuntime()->GetExperimental()->RunIfWaitingForDebugger( |
runtime::RunIfWaitingForDebuggerParams::Builder().Build()); |
- devtools_client_->GetPage()->GetExperimental()->AddObserver(this); |
- devtools_client_->GetPage()->Enable(); |
devtools_client_->GetPage()->Navigate( |
embedded_test_server()->GetURL("/hello.html").spec()); |
} |
@@ -638,8 +652,12 @@ class HeadlessDevToolsNavigationControlTest |
public: |
void RunDevTooledTest() override { |
EXPECT_TRUE(embedded_test_server()->Start()); |
+ base::RunLoop run_loop; |
devtools_client_->GetPage()->GetExperimental()->AddObserver(this); |
- devtools_client_->GetPage()->Enable(); |
+ devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); |
+ base::MessageLoop::ScopedNestableTaskAllower nest_loop( |
+ base::MessageLoop::current()); |
+ run_loop.Run(); |
devtools_client_->GetPage()->GetExperimental()->SetControlNavigations( |
headless::page::SetControlNavigationsParams::Builder() |
.SetEnabled(true) |
@@ -761,8 +779,12 @@ class HeadlessDevToolsMethodCallErrorTest |
public: |
void RunDevTooledTest() override { |
EXPECT_TRUE(embedded_test_server()->Start()); |
+ base::RunLoop run_loop; |
devtools_client_->GetPage()->AddObserver(this); |
- devtools_client_->GetPage()->Enable(); |
+ devtools_client_->GetPage()->Enable(run_loop.QuitClosure()); |
+ base::MessageLoop::ScopedNestableTaskAllower nest_loop( |
+ base::MessageLoop::current()); |
+ run_loop.Run(); |
devtools_client_->GetPage()->Navigate( |
embedded_test_server()->GetURL("/hello.html").spec()); |
} |
@@ -799,10 +821,14 @@ class HeadlessDevToolsNetworkBlockedUrlTest |
public: |
void RunDevTooledTest() override { |
EXPECT_TRUE(embedded_test_server()->Start()); |
+ base::RunLoop run_loop; |
devtools_client_->GetPage()->AddObserver(this); |
devtools_client_->GetPage()->Enable(); |
devtools_client_->GetNetwork()->AddObserver(this); |
- devtools_client_->GetNetwork()->Enable(); |
+ devtools_client_->GetNetwork()->Enable(run_loop.QuitClosure()); |
+ base::MessageLoop::ScopedNestableTaskAllower nest_loop( |
+ base::MessageLoop::current()); |
+ run_loop.Run(); |
devtools_client_->GetNetwork()->GetExperimental()->AddBlockedURL( |
network::AddBlockedURLParams::Builder() |
.SetUrl("dom_tree_test.css") |