| Index: content/browser/child_process_launcher.cc
|
| ===================================================================
|
| --- content/browser/child_process_launcher.cc (revision 189099)
|
| +++ 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)
|
|
|