| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SANDBOX_MAC_SYSTEM_SERVICES_H_ |
| #define SANDBOX_MAC_SYSTEM_SERVICES_H_ |
| |
| #include "sandbox/mac/seatbelt_export.h" |
| |
| namespace sandbox { |
| |
| // Tells LaunchServices that the process is not a normal GUI application, which |
| // permits the process to call into various Carbon services without requiring |
| // an ASN. This marks the process as a "daemon". If the process is currently |
| // connected to LaunchServices, the connection is closed and the system is |
| // instructed to not attempt to connect again. This does not alter the sandbox |
| // policy (i.e., direct lookup requests to launchd will not be affected), but |
| // it instructs system frameworks to not attempt to connect. |
| SEATBELT_EXPORT void DisableLaunchServices(); |
| |
| // Disables the CoresServices CheckFix list. CoreServices maintains a |
| // compatability database of bugs and workarounds by bundle ID. The system |
| // depends on check-in in to LaunchServices to obtain a shared memory mapping of |
| // the database, but if that fails (e.g. under the sandbox), it scans entries |
| // in /System/Library for individual bug fix lists. This call disables the |
| // CheckFix list. |
| SEATBELT_EXPORT void DisableCoreServicesCheckFix(); |
| |
| } // namespace sandbox |
| |
| #endif // SANDBOX_MAC_SYSTEM_SERVICES_H_ |