From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samuel Attard <sattard@slack-corp.com>
Date: Mon, 4 Mar 2019 14:51:45 -0800
Subject: fix: disable usage of SetApplicationIsDaemon and
 _LSSetApplicationLaunchServicesServerConnectionStatus in MAS builds

diff --git a/content/utility/utility_service_factory.cc b/content/utility/utility_service_factory.cc
index 24a2644f008eb4878c87b62aebac962d074a0fe3..c1d07917c2ea576971b23c0f309d58ce559ca0ba 100644
--- a/content/utility/utility_service_factory.cc
+++ b/content/utility/utility_service_factory.cc
@@ -195,7 +195,7 @@ void UtilityServiceFactory::RunNetworkServiceOnIOThread(
 std::unique_ptr<service_manager::Service>
 UtilityServiceFactory::CreateAudioService(
     service_manager::mojom::ServiceRequest request) {
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) && !defined(MAS_BUILD)
   // Don't connect to launch services when running sandboxed
   // (https://crbug.com/874785).
   if (base::FeatureList::IsEnabled(
diff --git a/sandbox/mac/system_services.cc b/sandbox/mac/system_services.cc
index caa30bb378b30331f90057fe7ce3aec724104bf8..a766daa808495f7872051e129c6ad9f76f54e4fe 100644
--- a/sandbox/mac/system_services.cc
+++ b/sandbox/mac/system_services.cc
@@ -9,16 +9,19 @@
 
 #include "base/mac/mac_logging.h"
 
+#if !defined(MAS_BUILD)
 extern "C" {
 OSStatus SetApplicationIsDaemon(Boolean isDaemon);
 void _LSSetApplicationLaunchServicesServerConnectionStatus(
     uint64_t flags,
     bool (^connection_allowed)(CFDictionaryRef options));
 }  // extern "C"
+#endif
 
 namespace sandbox {
 
 void DisableLaunchServices() {
+  #if !defined(MAS_BUILD)
   // Allow the process to continue without a LaunchServices ASN. The
   // INIT_Process function in HIServices will abort if it cannot connect to
   // launchservicesd to get an ASN. By setting this flag, HIServices skips
@@ -32,6 +35,7 @@ void DisableLaunchServices() {
       0, ^bool(CFDictionaryRef options) {
         return false;
       });
+  #endif
 }
 
 }  // namespace sandbox
