Index: chrome/service/service_utility_process_host.cc |
diff --git a/chrome/service/service_utility_process_host.cc b/chrome/service/service_utility_process_host.cc |
index d649ba747bb55ff0e97f4ce2c2f18e0dae10454c..6721906e96dcb6507a4d3d6db199bbca27c01f10 100644 |
--- a/chrome/service/service_utility_process_host.cc |
+++ b/chrome/service/service_utility_process_host.cc |
@@ -25,6 +25,7 @@ |
#include "ui/gfx/rect.h" |
#if defined(OS_WIN) |
+ |
jam
2014/09/04 18:06:38
nit: no change needed
Vitaly Buka (NO REVIEWS)
2014/09/04 18:19:39
Done.
|
#include "base/files/file_path.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/process/launch.h" |
@@ -32,6 +33,7 @@ |
#include "content/public/common/sandbox_init.h" |
#include "content/public/common/sandboxed_process_launcher_delegate.h" |
#include "printing/emf_win.h" |
+#include "sandbox/win/src/sandbox_policy_base.h" |
namespace { |
@@ -49,6 +51,13 @@ class ServiceSandboxedProcessLauncherDelegate |
*exposed_dir = exposed_dir_; |
} |
+ virtual void PreSpawnTarget(sandbox::TargetPolicy* policy, |
+ bool* success) OVERRIDE { |
+ // Service process may run as windows service and it would fail to create |
+ // ::CreateWindowStation. |
+ policy->SetAlternateDesktop(false); |
+ } |
+ |
private: |
base::FilePath exposed_dir_; |
}; |