Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Unified Diff: content/browser/browser_main_loop.cc

Issue 2741203002: memory-infra: Finish moving to Mojo (3nd attempt) (Closed)
Patch Set: review Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698