123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 |
- From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
- From: Cheng Zhao <[email protected]>
- Date: Tue, 9 Oct 2018 10:36:20 -0700
- Subject: mas: avoid some private APIs
- Guard usages in blink of private Mac APIs by MAS_BUILD, so they can be
- excluded for people who want to submit their apps to the Mac App store.
- diff --git a/base/process/process_info_mac.cc b/base/process/process_info_mac.cc
- index 94a028be3c315edc0056408ab9ab41b6b001a1c1..0d830234edb5621f57e39f4a951d357a23f677c1 100644
- --- a/base/process/process_info_mac.cc
- +++ b/base/process/process_info_mac.cc
- @@ -8,15 +8,21 @@
- #include <stdlib.h>
- #include <unistd.h>
-
- +#if !IS_MAS_BUILD()
- extern "C" {
- pid_t responsibility_get_pid_responsible_for_pid(pid_t);
- }
- +#endif
-
- namespace base {
-
- bool IsProcessSelfResponsible() {
- +#if !IS_MAS_BUILD()
- const pid_t pid = getpid();
- return responsibility_get_pid_responsible_for_pid(pid) == pid;
- +#else
- + return true;
- +#endif
- }
-
- } // namespace base
- diff --git a/content/renderer/renderer_main_platform_delegate_mac.mm b/content/renderer/renderer_main_platform_delegate_mac.mm
- index d4db3b179725cb96bcbd0f73db7d52ef8b7522db..6afbf1defb0591d9fe59a81e6c74746d3e15f081 100644
- --- a/content/renderer/renderer_main_platform_delegate_mac.mm
- +++ b/content/renderer/renderer_main_platform_delegate_mac.mm
- @@ -10,9 +10,11 @@
- #include "sandbox/mac/seatbelt.h"
- #include "sandbox/mac/system_services.h"
-
- +#if !IS_MAS_BUILD()
- extern "C" {
- CGError CGSSetDenyWindowServerConnections(bool);
- }
- +#endif
-
- namespace content {
-
- @@ -22,6 +24,7 @@
- // verifies there are no existing open connections), and then indicates that
- // Chrome should continue execution without access to launchservicesd.
- void DisableSystemServices() {
- +#if !IS_MAS_BUILD()
- // Tell the WindowServer that we don't want to make any future connections.
- // This will return Success as long as there are no open connections, which
- // is what we want.
- @@ -30,6 +33,7 @@ void DisableSystemServices() {
-
- sandbox::DisableLaunchServices();
- sandbox::DisableCoreServicesCheckFix();
- +#endif
- }
-
- } // namespace
- diff --git a/content/renderer/theme_helper_mac.mm b/content/renderer/theme_helper_mac.mm
- index a119b4439bfb9218c7aaf09dca8e78527da7f20d..faa813b003940280c6eeb87e70173019bdd5280c 100644
- --- a/content/renderer/theme_helper_mac.mm
- +++ b/content/renderer/theme_helper_mac.mm
- @@ -8,10 +8,11 @@
-
- #include "base/strings/sys_string_conversions.h"
-
- +#if !IS_MAS_BUILD()
- extern "C" {
- bool CGFontRenderingGetFontSmoothingDisabled(void);
- }
- -
- +#endif
- namespace content {
-
- void SystemColorsDidChange(int aqua_color_variant) {
- @@ -24,8 +25,18 @@ void SystemColorsDidChange(int aqua_color_variant) {
- }
-
- bool IsSubpixelAntialiasingAvailable() {
- +#if !IS_MAS_BUILD()
- // See https://trac.webkit.org/changeset/239306/webkit for more info.
- return !CGFontRenderingGetFontSmoothingDisabled();
- +#else
- + NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
- + NSString *default_key = @"CGFontRenderingGetFontSmoothingDisabled";
- + // Check that key exists since boolForKey defaults to NO when the
- + // key is missing and this key in fact defaults to YES;
- + if ([defaults objectForKey:default_key] == nil)
- + return false;
- + return ![defaults boolForKey:default_key];
- +#endif
- }
-
- } // namespace content
- diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm
- index 4b1d57ef72d6a9235edc7a2591c8c3242c283235..680cf1ee57e0a9748a3b1efa93cb2d1569ac5655 100644
- --- a/device/bluetooth/bluetooth_adapter_mac.mm
- +++ b/device/bluetooth/bluetooth_adapter_mac.mm
- @@ -37,6 +37,7 @@
- #include "device/bluetooth/bluetooth_socket_mac.h"
- #include "device/bluetooth/public/cpp/bluetooth_address.h"
-
- +#if !IS_MAS_BUILD()
- extern "C" {
- // Undocumented IOBluetooth Preference API [1]. Used by `blueutil` [2] and
- // `Karabiner` [3] to programmatically control the Bluetooth state. Calling the
- @@ -50,6 +51,7 @@
- // [4] https://support.apple.com/kb/PH25091
- void IOBluetoothPreferenceSetControllerPowerState(int state);
- }
- +#endif
-
- namespace {
-
- @@ -93,8 +95,10 @@ bool IsDeviceSystemPaired(const std::string& device_address) {
- : controller_state_function_(
- base::BindRepeating(&BluetoothAdapterMac::GetHostControllerState,
- base::Unretained(this))),
- +#if !IS_MAS_BUILD()
- power_state_function_(
- base::BindRepeating(IOBluetoothPreferenceSetControllerPowerState)),
- +#endif
- classic_discovery_manager_(
- BluetoothDiscoveryManagerMac::CreateClassic(this)),
- device_paired_status_callback_(
- @@ -243,8 +247,12 @@ bool IsDeviceSystemPaired(const std::string& device_address) {
- }
-
- bool BluetoothAdapterMac::SetPoweredImpl(bool powered) {
- +#if !IS_MAS_BUILD()
- power_state_function_.Run(base::strict_cast<int>(powered));
- return true;
- +#else
- + return false;
- +#endif
- }
-
- base::WeakPtr<BluetoothLowEnergyAdapterApple>
- diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc
- index 2f7b9f4fb591f92fc570a271cf7e557f0dce00f7..209d356ea8562f5af4d64c9a7699a7c4f67526e2 100644
- --- a/media/audio/mac/audio_manager_mac.cc
- +++ b/media/audio/mac/audio_manager_mac.cc
- @@ -969,7 +969,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters(
-
- void AudioManagerMac::InitializeOnAudioThread() {
- DCHECK(GetTaskRunner()->BelongsToCurrentThread());
- - InitializeCoreAudioDispatchOverride();
- + // InitializeCoreAudioDispatchOverride();
- power_observer_ = std::make_unique<AudioPowerObserver>();
- }
-
- diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc
- index a93e7cd74d2a9d692304ecf10279fae8e96bb695..3506d6ca555701bad6623cc1c614e0081892e42b 100644
- --- a/net/dns/dns_config_service_posix.cc
- +++ b/net/dns/dns_config_service_posix.cc
- @@ -130,8 +130,8 @@ class DnsConfigServicePosix::Watcher : public DnsConfigService::Watcher {
-
- bool Watch() override {
- CheckOnCorrectSequence();
- -
- bool success = true;
- +#if !IS_MAS_BUILD()
- if (!config_watcher_.Watch(base::BindRepeating(&Watcher::OnConfigChanged,
- base::Unretained(this)))) {
- LOG(ERROR) << "DNS config watch failed to start.";
- @@ -148,6 +148,7 @@ class DnsConfigServicePosix::Watcher : public DnsConfigService::Watcher {
- success = false;
- }
- #endif // !BUILDFLAG(IS_IOS)
- +#endif
- return success;
- }
-
- diff --git a/sandbox/mac/sandbox_compiler.cc b/sandbox/mac/sandbox_compiler.cc
- index f35d9ef2a2df3db8ecbf1d7b909c7b1cf33f3cd9..a710b8b4f851666fd65bb37f69ec2fa70259697b 100644
- --- a/sandbox/mac/sandbox_compiler.cc
- +++ b/sandbox/mac/sandbox_compiler.cc
- @@ -47,6 +47,7 @@ bool SandboxCompiler::SetParameter(const std::string& key,
- }
-
- bool SandboxCompiler::CompileAndApplyProfile(std::string& error) {
- +#if !IS_MAS_BUILD()
- if (mode_ == Target::kSource) {
- std::vector<const char*> params;
-
- @@ -67,6 +68,9 @@ bool SandboxCompiler::CompileAndApplyProfile(std::string& error) {
- }
- }
- return false;
- +#else
- + return true;
- +#endif
- }
-
- bool SandboxCompiler::CompilePolicyToProto(mac::SandboxPolicy& policy,
- diff --git a/sandbox/mac/seatbelt.cc b/sandbox/mac/seatbelt.cc
- index 15c835e118456394c0a00ac98c11241c14ca75bd..83759e5fbc252fa57ca2fa122873dfac3d61d46d 100644
- --- a/sandbox/mac/seatbelt.cc
- +++ b/sandbox/mac/seatbelt.cc
- @@ -9,7 +9,7 @@
-
- extern "C" {
- #include <sandbox.h>
- -
- +#if !IS_MAS_BUILD()
- int sandbox_init_with_parameters(const char* profile,
- uint64_t flags,
- const char* const parameters[],
- @@ -40,13 +40,13 @@ sandbox_profile_t* sandbox_compile_string(const char* data,
- char** error);
- int sandbox_apply(sandbox_profile_t*);
- void sandbox_free_profile(sandbox_profile_t*);
- -
- +#endif
- } // extern "C"
-
- namespace sandbox {
-
- namespace {
- -
- +#if !IS_MAS_BUILD()
- bool HandleSandboxResult(int rv, char* errorbuf, std::string* error) {
- if (rv == 0) {
- if (error)
- @@ -74,36 +74,48 @@ bool HandleSandboxErrno(int rv, const char* message, std::string* error) {
- }
- return false;
- }
- -
- +#endif
- } // namespace
-
- // static
- Seatbelt::Parameters Seatbelt::Parameters::Create() {
- Parameters params;
- +#if !IS_MAS_BUILD()
- params.params_ = ::sandbox_create_params();
- +#endif
- return params;
- }
-
- Seatbelt::Parameters::Parameters() = default;
-
- Seatbelt::Parameters::Parameters(Seatbelt::Parameters&& other) {
- +#if !IS_MAS_BUILD()
- params_ = std::exchange(other.params_, nullptr);
- +#endif
- }
-
- Seatbelt::Parameters& Seatbelt::Parameters::operator=(
- Seatbelt::Parameters&& other) {
- +#if !IS_MAS_BUILD()
- params_ = std::exchange(other.params_, nullptr);
- +#endif
- return *this;
- }
-
- bool Seatbelt::Parameters::Set(const char* key, const char* value) {
- +#if !IS_MAS_BUILD()
- return ::sandbox_set_param(params_, key, value) == 0;
- +#else
- + return true;
- +#endif
- }
-
- Seatbelt::Parameters::~Parameters() {
- +#if !IS_MAS_BUILD()
- if (params_) {
- ::sandbox_free_params(params_);
- }
- +#endif
- }
-
- // Initialize the static member variables.
- @@ -114,6 +126,7 @@ const char* Seatbelt::kProfilePureComputation = kSBXProfilePureComputation;
-
- // static
- bool Seatbelt::Init(const char* profile, uint64_t flags, std::string* error) {
- +#if !IS_MAS_BUILD()
- // OS X deprecated these functions, but did not provide a suitable replacement,
- // so ignore the deprecation warning.
- #pragma clang diagnostic push
- @@ -122,6 +135,9 @@ bool Seatbelt::Init(const char* profile, uint64_t flags, std::string* error) {
- int rv = ::sandbox_init(profile, flags, &errorbuf);
- return HandleSandboxResult(rv, errorbuf, error);
- #pragma clang diagnostic pop
- +#else
- + return true;
- +#endif
- }
-
- // static
- @@ -129,10 +145,14 @@ bool Seatbelt::InitWithParams(const char* profile,
- uint64_t flags,
- const char* const parameters[],
- std::string* error) {
- +#if !IS_MAS_BUILD()
- char* errorbuf = nullptr;
- int rv =
- ::sandbox_init_with_parameters(profile, flags, parameters, &errorbuf);
- return HandleSandboxResult(rv, errorbuf, error);
- +#else
- + return true;
- +#endif
- }
-
- // static
- @@ -140,6 +160,7 @@ bool Seatbelt::Compile(const char* profile,
- const Seatbelt::Parameters& params,
- std::string& compiled_profile,
- std::string* error) {
- +#if !IS_MAS_BUILD()
- char* errorbuf = nullptr;
- sandbox_profile_t* sandbox_profile =
- ::sandbox_compile_string(profile, params.params(), &errorbuf);
- @@ -149,33 +170,44 @@ bool Seatbelt::Compile(const char* profile,
- compiled_profile.assign(reinterpret_cast<const char*>(sandbox_profile->data),
- sandbox_profile->size);
- ::sandbox_free_profile(sandbox_profile);
- +#endif
- return true;
- }
-
- // static
- bool Seatbelt::ApplyCompiledProfile(const std::string& profile,
- std::string* error) {
- +#if !IS_MAS_BUILD()
- sandbox_profile_t sbox_profile = {
- .builtin = nullptr,
- .data = reinterpret_cast<const uint8_t*>(profile.data()),
- .size = profile.size()};
- return HandleSandboxErrno(::sandbox_apply(&sbox_profile),
- "sandbox_apply: ", error);
- +#else
- + return true;
- +#endif
- }
-
- // static
- void Seatbelt::FreeError(char* errorbuf) {
- +#if !IS_MAS_BUILD()
- // OS X deprecated these functions, but did not provide a suitable replacement,
- // so ignore the deprecation warning.
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
- return ::sandbox_free_error(errorbuf);
- #pragma clang diagnostic pop
- +#endif
- }
-
- // static
- bool Seatbelt::IsSandboxed() {
- +#if !IS_MAS_BUILD()
- return ::sandbox_check(getpid(), NULL, 0);
- +#else
- + return true;
- +#endif
- }
-
- } // namespace sandbox
- diff --git a/sandbox/mac/seatbelt_extension.cc b/sandbox/mac/seatbelt_extension.cc
- index 18479382a277cb2b25626ec8d31442bfd1377ee6..7d80d7fa8337523c3a70f317f883f0cc26c6f40b 100644
- --- a/sandbox/mac/seatbelt_extension.cc
- +++ b/sandbox/mac/seatbelt_extension.cc
- @@ -11,6 +11,7 @@
- #include "base/notreached.h"
- #include "sandbox/mac/seatbelt_extension_token.h"
-
- +#if !IS_MAS_BUILD()
- // libsandbox private API.
- extern "C" {
- extern const char* APP_SANDBOX_READ;
- @@ -22,6 +23,7 @@ char* sandbox_extension_issue_file(const char* type,
- const char* path,
- uint32_t flags);
- }
- +#endif
-
- namespace sandbox {
-
- @@ -50,7 +52,11 @@ std::unique_ptr<SeatbeltExtension> SeatbeltExtension::FromToken(
-
- bool SeatbeltExtension::Consume() {
- DCHECK(!token_.empty());
- +#if !IS_MAS_BUILD()
- handle_ = sandbox_extension_consume(token_.c_str());
- +#else
- + handle_ = -1;
- +#endif
- return handle_ > 0;
- }
-
- @@ -62,7 +68,11 @@ bool SeatbeltExtension::ConsumePermanently() {
- }
-
- bool SeatbeltExtension::Revoke() {
- +#if !IS_MAS_BUILD()
- int rv = sandbox_extension_release(handle_);
- +#else
- + int rv = -1;
- +#endif
- handle_ = 0;
- token_.clear();
- return rv == 0;
- @@ -80,12 +90,14 @@ SeatbeltExtension::SeatbeltExtension(const std::string& token)
- char* SeatbeltExtension::IssueToken(SeatbeltExtension::Type type,
- const std::string& resource) {
- switch (type) {
- +#if !IS_MAS_BUILD()
- case FILE_READ:
- return sandbox_extension_issue_file(APP_SANDBOX_READ, resource.c_str(),
- 0);
- case FILE_READ_WRITE:
- return sandbox_extension_issue_file(APP_SANDBOX_READ_WRITE,
- resource.c_str(), 0);
- +#endif
- default:
- NOTREACHED();
- return nullptr;
- diff --git a/ui/accessibility/platform/inspect/ax_transform_mac.mm b/ui/accessibility/platform/inspect/ax_transform_mac.mm
- index 701b59231f2e5fbd31482775a248a0ff9755a480..271f9d1eebcf29aa7a8b98a0655038e75464a56b 100644
- --- a/ui/accessibility/platform/inspect/ax_transform_mac.mm
- +++ b/ui/accessibility/platform/inspect/ax_transform_mac.mm
- @@ -108,6 +108,7 @@
- }
- }
-
- +#if !IS_MAS_BUILD()
- // AXTextMarker
- if (IsAXTextMarker(value)) {
- return AXTextMarkerToBaseValue(value, indexer);
- @@ -117,6 +118,7 @@
- if (IsAXTextMarkerRange(value)) {
- return AXTextMarkerRangeToBaseValue(value, indexer);
- }
- +#endif
-
- // Accessible object
- if (AXElementWrapper::IsValidElement(value)) {
|