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 aa0fee8c2f08847b4a5645c8e42ef9096e57355b..0992952db07537e28d60f5eee47dd87b03c481f9 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" |
@@ -3104,6 +3105,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( |
@@ -3201,6 +3209,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( |