diff options
Diffstat (limited to 'chromium/content/public/browser/browser_child_process_host.h')
-rw-r--r-- | chromium/content/public/browser/browser_child_process_host.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/chromium/content/public/browser/browser_child_process_host.h b/chromium/content/public/browser/browser_child_process_host.h index 07193afd0cd..2b82b5b4d8c 100644 --- a/chromium/content/public/browser/browser_child_process_host.h +++ b/chromium/content/public/browser/browser_child_process_host.h @@ -23,12 +23,16 @@ class CommandLine; class FilePath; } +namespace shell { +class InterfaceProvider; +class InterfaceRegistry; +} + namespace content { class BrowserChildProcessHostDelegate; class ChildProcessHost; class SandboxedProcessLauncherDelegate; -class ServiceRegistry; struct ChildProcessData; // This represents child processes of the browser process, i.e. plugins. They @@ -42,6 +46,14 @@ class CONTENT_EXPORT BrowserChildProcessHost : public IPC::Sender { content::ProcessType process_type, BrowserChildProcessHostDelegate* delegate); + // Used to create a child process host, with a unique token to identify the + // child process to Mojo. |mojo_child_token| should be a unique string + // generated using mojo::edk::GenerateRandomToken(). + static BrowserChildProcessHost* Create( + content::ProcessType process_type, + BrowserChildProcessHostDelegate* delegate, + const std::string& mojo_child_token); + // 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|. @@ -81,9 +93,13 @@ 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; + // Returns the shell::InterfaceRegistry the browser process uses to expose + // interfaces to the child. + virtual shell::InterfaceRegistry* GetInterfaceRegistry() = 0; + + // Returns the shell::InterfaceProvider the browser process can use to bind + // interfaces exposed to it from the child. + virtual shell::InterfaceProvider* GetRemoteInterfaces() = 0; #if defined(OS_MACOSX) // Returns a PortProvider used to get the task port for child processes. |