diff options
author | haven@chromium.org <haven@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-11 14:45:35 +0000 |
---|---|---|
committer | haven@chromium.org <haven@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-11 14:45:35 +0000 |
commit | fa01e47350050ca5be93589414a21d4dc5579107 (patch) | |
tree | 82f43d07d7ccba3bbd5ff275a6f6d92e8d72bc51 /content/browser/browser_child_process_host_impl.h | |
parent | bfd21809b814c4773725497791b841499af9e0b5 (diff) | |
download | chromium_src-fa01e47350050ca5be93589414a21d4dc5579107.zip chromium_src-fa01e47350050ca5be93589414a21d4dc5579107.tar.gz chromium_src-fa01e47350050ca5be93589414a21d4dc5579107.tar.bz2 |
Creates a way to launch the utility process with elevated privileges on Windows systems for the rare operations that require administrator access.
IPCs to the utility process will be filtered when it is running elevated.
BUG=331881
Review URL: https://codereview.chromium.org/98603007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250409 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/browser_child_process_host_impl.h')
-rw-r--r-- | content/browser/browser_child_process_host_impl.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/content/browser/browser_child_process_host_impl.h b/content/browser/browser_child_process_host_impl.h index 67ce9e2..3bcab7c 100644 --- a/content/browser/browser_child_process_host_impl.h +++ b/content/browser/browser_child_process_host_impl.h @@ -45,6 +45,7 @@ class CONTENT_EXPORT BrowserChildProcessHostImpl virtual void Launch( #if defined(OS_WIN) SandboxedProcessLauncherDelegate* delegate, + bool launch_elevated, #elif defined(OS_POSIX) bool use_zygote, const base::EnvironmentMap& environ, @@ -58,9 +59,13 @@ class CONTENT_EXPORT BrowserChildProcessHostImpl virtual void SetName(const base::string16& name) OVERRIDE; virtual void SetHandle(base::ProcessHandle handle) OVERRIDE; - // Returns the handle of the child process. This can be called only after - // OnProcessLaunched is called or it will be invalid and may crash. - base::ProcessHandle GetHandle() const; + // ChildProcessHostDelegate implementation: + virtual bool CanShutdown() OVERRIDE; + virtual void OnChildDisconnected() OVERRIDE; + virtual base::ProcessHandle GetHandle() const OVERRIDE; + virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; + virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; + virtual void OnChannelError() OVERRIDE; // Removes this host from the host list. Calls ChildProcessHost::ForceShutdown void ForceShutdown(); @@ -90,15 +95,9 @@ class CONTENT_EXPORT BrowserChildProcessHostImpl static void AddObserver(BrowserChildProcessObserver* observer); static void RemoveObserver(BrowserChildProcessObserver* observer); - // ChildProcessHostDelegate implementation: - virtual bool CanShutdown() OVERRIDE; - virtual void OnChildDisconnected() OVERRIDE; - virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; - virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; - virtual void OnChannelError() OVERRIDE; - // ChildProcessLauncher::Client implementation. virtual void OnProcessLaunched() OVERRIDE; + virtual void OnProcessLaunchFailed() OVERRIDE; #if defined(OS_WIN) void DeleteProcessWaitableEvent(base::WaitableEvent* event); |