Index: content/browser/browser_child_process_host_impl.cc |
diff --git a/content/browser/browser_child_process_host_impl.cc b/content/browser/browser_child_process_host_impl.cc |
index 156c21b961f17966a4719a916e36df9922058615..930316309eec260b5eab03cd8e09fd1c718557f7 100644 |
--- a/content/browser/browser_child_process_host_impl.cc |
+++ b/content/browser/browser_child_process_host_impl.cc |
@@ -66,6 +66,17 @@ BrowserChildProcessHost* BrowserChildProcessHost::Create( |
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 @@ void BrowserChildProcessHostImpl::SetHandle(base::ProcessHandle handle) { |
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); |