Index: content/browser/renderer_host/render_process_host_impl.cc |
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc |
index cb6a6bc5fd02f51b71a0b54d4b3cdea33e414f48..00146a1d8ccd980cab6405ae08a34b29b9eb0131 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.cc |
+++ b/content/browser/renderer_host/render_process_host_impl.cc |
@@ -44,6 +44,8 @@ |
#include "base/tracked_objects.h" |
#include "build/build_config.h" |
#include "cc/base/switches.h" |
+#include "components/memory_coordinator/browser/memory_coordinator.h" |
+#include "components/memory_coordinator/common/memory_coordinator_features.h" |
#include "components/scheduler/common/scheduler_switches.h" |
#include "components/tracing/common/tracing_switches.h" |
#include "components/webmessaging/broadcast_channel_provider.h" |
@@ -446,6 +448,13 @@ std::string UintVectorToString(const std::vector<unsigned>& vector) { |
return str; |
} |
+void CreateMemoryCoordinatorHandle( |
+ int render_process_id, |
+ memory_coordinator::mojom::MemoryCoordinatorHandleRequest request) { |
+ BrowserMainLoop::GetInstance()->memory_coordinator()->CreateHandle( |
+ render_process_id, std::move(request)); |
+} |
+ |
} // namespace |
RendererMainThreadFactoryFunction g_renderer_main_thread_factory = NULL; |
@@ -1089,6 +1098,11 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { |
GetInterfaceRegistry()->AddInterface( |
base::Bind(&DeviceOrientationAbsoluteHost::Create), io_task_runner); |
+ if (memory_coordinator::IsEnabled()) { |
+ GetInterfaceRegistry()->AddInterface( |
+ base::Bind(&CreateMemoryCoordinatorHandle, GetID())); |
+ } |
+ |
#if defined(OS_ANDROID) |
ServiceRegistrarAndroid::RegisterProcessHostServices( |
mojo_child_connection_->service_registry_android()); |