| Index: headless/test/headless_browser_test.cc
|
| diff --git a/headless/test/headless_browser_test.cc b/headless/test/headless_browser_test.cc
|
| index 090a7045e4927819ae13e8528580dcc02b2bee52..3e1f0f23949adabe35e264950254903221dbd939 100644
|
| --- a/headless/test/headless_browser_test.cc
|
| +++ b/headless/test/headless_browser_test.cc
|
| @@ -17,6 +17,7 @@
|
| #include "headless/public/headless_devtools_client.h"
|
| #include "headless/public/headless_devtools_target.h"
|
| #include "headless/public/headless_web_contents.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| #include "ui/gfx/geometry/size.h"
|
| #include "url/gurl.h"
|
|
|
| @@ -184,7 +185,8 @@ void HeadlessBrowserTest::FinishAsynchronousTest() {
|
|
|
| HeadlessAsyncDevTooledBrowserTest::HeadlessAsyncDevTooledBrowserTest()
|
| : web_contents_(nullptr),
|
| - devtools_client_(HeadlessDevToolsClient::Create()) {}
|
| + devtools_client_(HeadlessDevToolsClient::Create()),
|
| + render_process_exited_(false) {}
|
|
|
| HeadlessAsyncDevTooledBrowserTest::~HeadlessAsyncDevTooledBrowserTest() {}
|
|
|
| @@ -194,6 +196,17 @@ void HeadlessAsyncDevTooledBrowserTest::DevToolsTargetReady() {
|
| RunDevTooledTest();
|
| }
|
|
|
| +void HeadlessAsyncDevTooledBrowserTest::RenderProcessExited(
|
| + base::TerminationStatus status,
|
| + int exit_code) {
|
| + if (status == base::TERMINATION_STATUS_NORMAL_TERMINATION)
|
| + return;
|
| +
|
| + FAIL() << "Abnormal renderer termination";
|
| + FinishAsynchronousTest();
|
| + render_process_exited_ = true;
|
| +}
|
| +
|
| void HeadlessAsyncDevTooledBrowserTest::RunTest() {
|
| browser_context_ = browser()->CreateBrowserContextBuilder().Build();
|
|
|
| @@ -202,7 +215,8 @@ void HeadlessAsyncDevTooledBrowserTest::RunTest() {
|
|
|
| RunAsynchronousTest();
|
|
|
| - web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get());
|
| + if (!render_process_exited_)
|
| + web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get());
|
| web_contents_->RemoveObserver(this);
|
| web_contents_->Close();
|
| web_contents_ = nullptr;
|
|
|