Index: chrome/browser/chrome_content_browser_client.cc |
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
index 4c471bea5ad13cdb186f88e59fc9d118a5703e1f..ca7aa16b00437f671e28e6a56b889253424c9045 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -197,6 +197,7 @@ |
#include "printing/features/features.h" |
#include "services/image_decoder/public/interfaces/constants.mojom.h" |
#include "services/preferences/public/interfaces/preferences.mojom.h" |
+#include "services/resource_coordinator/memory/coordinator/coordinator_impl.h" |
#include "services/service_manager/public/cpp/interface_provider.h" |
#include "services/service_manager/public/cpp/interface_registry.h" |
#include "services/service_manager/public/cpp/service.h" |
@@ -3103,6 +3104,13 @@ void ChromeContentBrowserClient::ExposeInterfacesToRenderer( |
base::Bind(&metrics::LeakDetectorRemoteController::Create), |
ui_task_runner); |
#endif |
+ |
+ registry->AddInterface( |
+ base::Bind( |
+ &memory_instrumentation::CoordinatorImpl::BindCoordinatorRequest, |
+ base::Unretained( |
+ memory_instrumentation::CoordinatorImpl::GetInstance())), |
+ ui_task_runner); |
} |
void ChromeContentBrowserClient::ExposeInterfacesToMediaService( |
@@ -3200,6 +3208,15 @@ void ChromeContentBrowserClient::ExposeInterfacesToGpuProcess( |
registry->AddInterface( |
base::Bind(&metrics::CallStackProfileCollector::Create, |
metrics::CallStackProfileParams::GPU_PROCESS)); |
+ |
+ auto ui_task_runner = content::BrowserThread::GetTaskRunnerForThread( |
+ content::BrowserThread::UI); |
+ registry->AddInterface( |
+ base::Bind( |
+ &memory_instrumentation::CoordinatorImpl::BindCoordinatorRequest, |
+ base::Unretained( |
+ memory_instrumentation::CoordinatorImpl::GetInstance())), |
+ ui_task_runner); |
} |
void ChromeContentBrowserClient::RegisterInProcessServices( |