Report utility process JS memory in task manager.

BUG=467832

Review URL: https://codereview.chromium.org/972083002

Cr-Commit-Position: refs/heads/master@{#330670}
diff --git a/content/browser/browser_child_process_host_impl.cc b/content/browser/browser_child_process_host_impl.cc
index 156c21b..93031630 100644
--- a/content/browser/browser_child_process_host_impl.cc
+++ b/content/browser/browser_child_process_host_impl.cc
@@ -66,6 +66,17 @@
   return new BrowserChildProcessHostImpl(process_type, delegate);
 }
 
+BrowserChildProcessHost* BrowserChildProcessHost::FromID(int child_process_id) {
+  DCHECK_CURRENTLY_ON(BrowserThread::IO);
+  BrowserChildProcessHostImpl::BrowserChildProcessList* process_list =
+      g_child_process_list.Pointer();
+  for (BrowserChildProcessHostImpl* host : *process_list) {
+    if (host->GetData().id == child_process_id)
+      return host;
+  }
+  return nullptr;
+}
+
 #if defined(OS_MACOSX)
 base::ProcessMetrics::PortProvider* BrowserChildProcessHost::GetPortProvider() {
   return MachBroker::GetInstance();
@@ -187,6 +198,11 @@
   data_.handle = handle;
 }
 
+ServiceRegistry* BrowserChildProcessHostImpl::GetServiceRegistry() {
+  DCHECK_CURRENTLY_ON(BrowserThread::IO);
+  return delegate_->GetServiceRegistry();
+}
+
 void BrowserChildProcessHostImpl::ForceShutdown() {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   g_child_process_list.Get().remove(this);