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..9962b815f57d9c78530ea035eb35efdd07be413e 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 would fail to create |
+ // ::CreateWindowStation. |
cpu_(ooo_6.6-7.5)
2014/09/04 19:04:23
.. and it fails to create a window station.
Vitaly Buka (NO REVIEWS)
2014/09/04 21:15:09
Done.
|
+ policy->SetAlternateDesktop(false); |
+ } |
+ |
private: |
base::FilePath exposed_dir_; |
}; |