| Index: content/browser/browser_main_loop.cc
|
| diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
|
| index 211afb42d2b7de4b686664707ac02de8c7c74b34..985026e89e6c7ba557dabec70f7e711e85cc07fa 100644
|
| --- a/content/browser/browser_main_loop.cc
|
| +++ b/content/browser/browser_main_loop.cc
|
| @@ -103,6 +103,7 @@
|
| #include "net/socket/client_socket_factory.h"
|
| #include "net/ssl/ssl_config_service.h"
|
| #include "ppapi/features/features.h"
|
| +#include "services/resource_coordinator/memory/coordinator/coordinator_impl.h"
|
| #include "services/service_manager/runner/common/client_util.h"
|
| #include "skia/ext/event_tracer_impl.h"
|
| #include "skia/ext/skia_memory_dump_provider.h"
|
| @@ -570,6 +571,7 @@ BrowserMainLoop::~BrowserMainLoop() {
|
| DCHECK_EQ(this, g_current_browser_main_loop);
|
| ui::Clipboard::DestroyClipboardForCurrentThread();
|
| g_current_browser_main_loop = NULL;
|
| + memory_instrumentation::CoordinatorImpl::SetInstance(nullptr);
|
| }
|
|
|
| void BrowserMainLoop::Init() {
|
| @@ -827,6 +829,16 @@ void BrowserMainLoop::PostMainMessageLoopStart() {
|
| LevelDBWrapperImpl::EnableAggressiveCommitDelay();
|
| }
|
|
|
| + // Create the memory instrumentation service. It will initialize the memory
|
| + // dump manager, too. It makes sense that BrowserMainLoop owns the service;
|
| + // this way, the service is alive for the lifetime of Mojo. Mojo is shutdown
|
| + // in BrowserMainLoop::ShutdownThreadsAndCleanupIO.
|
| + memory_instrumentation_coordinator_ =
|
| + base::MakeUnique<memory_instrumentation::CoordinatorImpl>(
|
| + true /* initialize_memory_dump_manager */);
|
| + memory_instrumentation::CoordinatorImpl::SetInstance(
|
| + memory_instrumentation_coordinator_.get());
|
| +
|
| // Enable memory-infra dump providers.
|
| InitSkiaEventTracer();
|
| tracing::ProcessMetricsMemoryDumpProvider::RegisterForProcess(
|
|
|