summaryrefslogtreecommitdiffstats
path: root/content/browser/browser_child_process_host_impl.h
diff options
context:
space:
mode:
authorhaven@chromium.org <haven@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-11 14:45:35 +0000
committerhaven@chromium.org <haven@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-11 14:45:35 +0000
commitfa01e47350050ca5be93589414a21d4dc5579107 (patch)
tree82f43d07d7ccba3bbd5ff275a6f6d92e8d72bc51 /content/browser/browser_child_process_host_impl.h
parentbfd21809b814c4773725497791b841499af9e0b5 (diff)
downloadchromium_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.h19
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);