Commit 1f9dbee1 authored by Wez's avatar Wez Committed by Commit Bot

Exit HeadlessBrowserImpl main message loop by QuitClosure.

Replace use of QuitCurrent*Deprecated() with use of the QuitClosure of
the //content default main message loop's RunLoop.

Bug: 844016
Change-Id: I14eb18304de9c9ddaabc2860998d12733572e7f7
Reviewed-on: https://chromium-review.googlesource.com/1103787
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568103}
parent cdf20cb9
...@@ -115,8 +115,7 @@ void HeadlessBrowserImpl::Shutdown() { ...@@ -115,8 +115,7 @@ void HeadlessBrowserImpl::Shutdown() {
browser_contexts_.clear(); browser_contexts_.clear();
} }
BrowserMainThread()->PostTask( browser_main_parts_->QuitMainMessageLoop();
FROM_HERE, base::RunLoop::QuitCurrentWhenIdleClosureDeprecated());
} }
std::vector<HeadlessBrowserContext*> std::vector<HeadlessBrowserContext*>
......
...@@ -12,8 +12,7 @@ ...@@ -12,8 +12,7 @@
namespace headless { namespace headless {
HeadlessBrowserMainParts::HeadlessBrowserMainParts(HeadlessBrowserImpl* browser) HeadlessBrowserMainParts::HeadlessBrowserMainParts(HeadlessBrowserImpl* browser)
: browser_(browser) : browser_(browser) {}
, devtools_http_handler_started_(false) {}
HeadlessBrowserMainParts::~HeadlessBrowserMainParts() = default; HeadlessBrowserMainParts::~HeadlessBrowserMainParts() = default;
...@@ -27,6 +26,11 @@ void HeadlessBrowserMainParts::PreMainMessageLoopRun() { ...@@ -27,6 +26,11 @@ void HeadlessBrowserMainParts::PreMainMessageLoopRun() {
browser_->PlatformInitialize(); browser_->PlatformInitialize();
} }
void HeadlessBrowserMainParts::PreDefaultMainMessageLoopRun(
base::OnceClosure quit_closure) {
quit_main_message_loop_ = std::move(quit_closure);
}
void HeadlessBrowserMainParts::PostMainMessageLoopRun() { void HeadlessBrowserMainParts::PostMainMessageLoopRun() {
if (devtools_http_handler_started_) { if (devtools_http_handler_started_) {
StopLocalDevToolsHttpHandler(); StopLocalDevToolsHttpHandler();
...@@ -34,4 +38,9 @@ void HeadlessBrowserMainParts::PostMainMessageLoopRun() { ...@@ -34,4 +38,9 @@ void HeadlessBrowserMainParts::PostMainMessageLoopRun() {
} }
} }
void HeadlessBrowserMainParts::QuitMainMessageLoop() {
if (quit_main_message_loop_)
std::move(quit_main_message_loop_).Run();
}
} // namespace headless } // namespace headless
...@@ -22,15 +22,19 @@ class HeadlessBrowserMainParts : public content::BrowserMainParts { ...@@ -22,15 +22,19 @@ class HeadlessBrowserMainParts : public content::BrowserMainParts {
// content::BrowserMainParts implementation: // content::BrowserMainParts implementation:
void PreMainMessageLoopRun() override; void PreMainMessageLoopRun() override;
void PreDefaultMainMessageLoopRun(base::OnceClosure quit_closure) override;
void PostMainMessageLoopRun() override; void PostMainMessageLoopRun() override;
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
void PreMainMessageLoopStart() override; void PreMainMessageLoopStart() override;
#endif #endif
void QuitMainMessageLoop();
private: private:
HeadlessBrowserImpl* browser_; // Not owned. HeadlessBrowserImpl* browser_; // Not owned.
bool devtools_http_handler_started_; bool devtools_http_handler_started_ = false;
base::OnceClosure quit_main_message_loop_;
DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserMainParts); DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserMainParts);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment