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 5912d5771b59d834fabdce9579bd1da893d845e1..ab29494afc2b734daf3a2ff873f8ac5b1cae5c50 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" |
@@ -3093,6 +3094,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))), |
+ ui_task_runner); |
} |
void ChromeContentBrowserClient::ExposeInterfacesToMediaService( |
@@ -3189,6 +3197,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))), |
+ ui_task_runner); |
} |
void ChromeContentBrowserClient::RegisterInProcessServices( |