1# HG changeset patch
2# User Bob Owen <bobowencode@gmail.com>
3# Date 1512580728 0
4#      Wed Dec 06 17:18:48 2017 +0000
5# Node ID e56684aa96bd963d4b94ed69b99a0359fa0479ae
6# Parent  785572419acc82b2cbdcd2e24ca59fdbf5d7255f
7Use STARTF_FORCEOFFFEEDBACK flag when starting Windows child processes to prevent app starting cursor. r=jimm
8
9diff --git a/security/sandbox/chromium/sandbox/win/src/broker_services.cc b/security/sandbox/chromium/sandbox/win/src/broker_services.cc
10--- a/security/sandbox/chromium/sandbox/win/src/broker_services.cc
11+++ b/security/sandbox/chromium/sandbox/win/src/broker_services.cc
12@@ -346,16 +346,20 @@ ResultCode BrokerServicesBase::SpawnTarg
13
14   base::win::ScopedHandle job;
15   result = policy_base->MakeJobObject(&job);
16   if (SBOX_ALL_OK != result)
17     return result;
18
19   // Initialize the startup information from the policy.
20   base::win::StartupInformation startup_info;
21+
22+  // We don't want any child processes causing the IDC_APPSTARTING cursor.
23+  startup_info.startup_info()->dwFlags |= STARTF_FORCEOFFFEEDBACK;
24+
25   // The liftime of |mitigations|, |inherit_handle_list| and
26   // |child_process_creation| have to be at least as long as
27   // |startup_info| because |UpdateProcThreadAttribute| requires that
28   // its |lpValue| parameter persist until |DeleteProcThreadAttributeList| is
29   // called; StartupInformation's destructor makes such a call.
30   DWORD64 mitigations;
31   std::vector<HANDLE> inherited_handle_list;
32   DWORD child_process_creation = PROCESS_CREATION_CHILD_PROCESS_RESTRICTED;
33