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..df2cf9400d0302903a1d352a863a383c99ccdc0d 100644 |
--- a/chrome/service/service_utility_process_host.cc |
+++ b/chrome/service/service_utility_process_host.cc |
@@ -32,6 +32,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 +50,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 fails to create a |
+ // window station. |
+ policy->SetAlternateDesktop(false); |
+ } |
+ |
private: |
base::FilePath exposed_dir_; |
}; |