Index: content/public/browser/browser_child_process_host.h |
diff --git a/content/public/browser/browser_child_process_host.h b/content/public/browser/browser_child_process_host.h |
index d1369a455b01efce5497db8565aad2069ef2bef1..1cf5745c79a0043d48d21196ff8d77cfa29b7a9f 100644 |
--- a/content/public/browser/browser_child_process_host.h |
+++ b/content/public/browser/browser_child_process_host.h |
@@ -25,6 +25,7 @@ namespace content { |
class BrowserChildProcessHostDelegate; |
class ChildProcessHost; |
class SandboxedProcessLauncherDelegate; |
+class ServiceRegistry; |
struct ChildProcessData; |
// This represents child processes of the browser process, i.e. plugins. They |
@@ -38,6 +39,11 @@ class CONTENT_EXPORT BrowserChildProcessHost : public IPC::Sender { |
content::ProcessType process_type, |
BrowserChildProcessHostDelegate* delegate); |
+ // Returns the child process host with unique id |child_process_id|, or |
+ // nullptr if it doesn't exist. |child_process_id| is NOT the process ID, but |
+ // is the same unique ID as |ChildProcessData::id|. |
+ static BrowserChildProcessHost* FromID(int child_process_id); |
+ |
~BrowserChildProcessHost() override {} |
// Derived classes call this to launch the child process asynchronously. |
@@ -72,6 +78,10 @@ class CONTENT_EXPORT BrowserChildProcessHost : public IPC::Sender { |
// this object. |
virtual void SetHandle(base::ProcessHandle handle) = 0; |
+ // Get the Mojo service registry connected to the child process. Returns |
+ // nullptr if no service registry exists. |
+ virtual ServiceRegistry* GetServiceRegistry() = 0; |
+ |
#if defined(OS_MACOSX) && !defined(OS_IOS) |
// Returns a PortProvider used to get process metrics for child processes. |
static base::ProcessMetrics::PortProvider* GetPortProvider(); |