Index: content/browser/child_process_launcher.cc |
=================================================================== |
--- content/browser/child_process_launcher.cc (revision 188735) |
+++ content/browser/child_process_launcher.cc (working copy) |
@@ -23,8 +23,9 @@ |
#if defined(OS_WIN) |
#include "base/files/file_path.h" |
-#include "content/common/sandbox_policy.h" |
+#include "content/common/sandbox_win.h" |
#include "content/public/common/sandbox_init.h" |
+#include "content/public/common/sandboxed_process_launcher_delegate.h" |
#elif defined(OS_MACOSX) |
#include "content/browser/mach_broker_mac.h" |
#elif defined(OS_ANDROID) |
@@ -68,7 +69,7 @@ |
void Launch( |
#if defined(OS_WIN) |
- const base::FilePath& exposed_dir, |
+ SandboxedProcessLauncherDelegate* delegate, |
#elif defined(OS_ANDROID) |
int ipcfd, |
#elif defined(OS_POSIX) |
@@ -97,7 +98,7 @@ |
client_thread_id_, |
child_process_id, |
#if defined(OS_WIN) |
- exposed_dir, |
+ delegate, |
#elif defined(OS_ANDROID) |
ipcfd, |
#elif defined(OS_POSIX) |
@@ -180,7 +181,7 @@ |
BrowserThread::ID client_thread_id, |
int child_process_id, |
#if defined(OS_WIN) |
- const base::FilePath& exposed_dir, |
+ SandboxedProcessLauncherDelegate* delegate, |
#elif defined(OS_ANDROID) |
int ipcfd, |
#elif defined(OS_POSIX) |
@@ -193,7 +194,8 @@ |
base::TimeTicks begin_launch_time = base::TimeTicks::Now(); |
#if defined(OS_WIN) |
- base::ProcessHandle handle = StartProcessWithAccess(cmd_line, exposed_dir); |
+ scoped_ptr<SandboxedProcessLauncherDelegate> delegate_deleter(delegate); |
+ base::ProcessHandle handle = StartSandboxedProcess(delegate, cmd_line); |
#elif defined(OS_ANDROID) |
// Android WebView runs in single process, ensure that we never get here |
// when running in single process mode. |
@@ -409,7 +411,7 @@ |
ChildProcessLauncher::ChildProcessLauncher( |
#if defined(OS_WIN) |
- const base::FilePath& exposed_dir, |
+ SandboxedProcessLauncherDelegate* delegate, |
#elif defined(OS_POSIX) |
bool use_zygote, |
const base::EnvironmentVector& environ, |
@@ -421,7 +423,7 @@ |
context_ = new Context(); |
context_->Launch( |
#if defined(OS_WIN) |
- exposed_dir, |
+ delegate, |
#elif defined(OS_ANDROID) |
ipcfd, |
#elif defined(OS_POSIX) |