2019-03-08 18:08:56 +00:00
|
|
|
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
|
2019-07-03 01:22:09 +00:00
|
|
|
index 35b8382b0215dfc17c67d7215a1a096ffa3cd503..62ac2aa93f4778e029232334729d084ee3c2f6b1 100644
|
2019-03-08 18:08:56 +00:00
|
|
|
--- a/content/utility/utility_service_factory.cc
|
|
|
|
+++ b/content/utility/utility_service_factory.cc
|
2019-04-20 17:20:37 +00:00
|
|
|
@@ -207,7 +207,7 @@ void UtilityServiceFactory::RunService(
|
2019-03-08 18:08:56 +00:00
|
|
|
std::unique_ptr<service_manager::Service>
|
|
|
|
UtilityServiceFactory::CreateAudioService(
|
2019-05-01 00:18:22 +00:00
|
|
|
mojo::PendingReceiver<service_manager::mojom::Service> receiver) {
|
2019-03-08 18:08:56 +00:00
|
|
|
-#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
|