Co-authored-by: Erick Zhao <erickzhao@github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by Micha Hanselmann <DeerMichel@github.com>
		
			
				
	
	
		
			423 lines
		
	
	
	
		
			16 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			423 lines
		
	
	
	
		
			16 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
						|
From: Cheng Zhao <zcbenz@gmail.com>
 | 
						|
Date: Tue, 9 Oct 2018 10:36:20 -0700
 | 
						|
Subject: mas_no_private_api.patch
 | 
						|
 | 
						|
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/content/browser/accessibility/browser_accessibility_cocoa.h b/content/browser/accessibility/browser_accessibility_cocoa.h
 | 
						|
index 743d1364bcd13e24ecbe5ced730161d15b8c3e93..a7e81072194c00baa0aa3159a6bfe374aaffa54f 100644
 | 
						|
--- a/content/browser/accessibility/browser_accessibility_cocoa.h
 | 
						|
+++ b/content/browser/accessibility/browser_accessibility_cocoa.h
 | 
						|
@@ -109,7 +109,9 @@ struct AXTextEdit {
 | 
						|
 @property(nonatomic, readonly) NSNumber* enabled;
 | 
						|
 // Returns a text marker that points to the last character in the document that
 | 
						|
 // can be selected with Voiceover.
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 @property(nonatomic, readonly) id endTextMarker;
 | 
						|
+#endif
 | 
						|
 @property(nonatomic, readonly) NSNumber* expanded;
 | 
						|
 @property(nonatomic, readonly) NSNumber* focused;
 | 
						|
 @property(nonatomic, readonly) NSNumber* grabbed;
 | 
						|
@@ -145,12 +147,16 @@ struct AXTextEdit {
 | 
						|
 @property(nonatomic, readonly) NSArray* selectedChildren;
 | 
						|
 @property(nonatomic, readonly) NSString* selectedText;
 | 
						|
 @property(nonatomic, readonly) NSValue* selectedTextRange;
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 @property(nonatomic, readonly) id selectedTextMarkerRange;
 | 
						|
+#endif
 | 
						|
 @property(nonatomic, readonly) NSValue* size;
 | 
						|
 @property(nonatomic, readonly) NSString* sortDirection;
 | 
						|
 // Returns a text marker that points to the first character in the document that
 | 
						|
 // can be selected with Voiceover.
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 @property(nonatomic, readonly) id startTextMarker;
 | 
						|
+#endif
 | 
						|
 // A string indicating the subrole of this object as far as accessibility
 | 
						|
 // is concerned.
 | 
						|
 @property(nonatomic, readonly) NSString* subrole;
 | 
						|
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
 | 
						|
index 241f5a41afce70835e12b16fb64192663b0d8580..5e026cb0627970620f5994dc783e1fa989401ed3 100644
 | 
						|
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm
 | 
						|
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
 | 
						|
@@ -219,6 +219,7 @@
 | 
						|
 // VoiceOver uses -1 to mean "no limit" for AXResultsLimit.
 | 
						|
 const int kAXResultsLimitNoLimit = -1;
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 extern "C" {
 | 
						|
 
 | 
						|
 // The following are private accessibility APIs required for cursor navigation
 | 
						|
@@ -420,6 +421,7 @@ void AddMisspelledTextAttributes(const AXPlatformRange& ax_range,
 | 
						|
   AddMisspelledTextAttributes(ax_range, attributed_text);
 | 
						|
   return attributed_text;
 | 
						|
 }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 // Returns an autoreleased copy of the AXNodeData's attribute.
 | 
						|
 NSString* NSStringForStringAttribute(BrowserAccessibility* browserAccessibility,
 | 
						|
@@ -687,7 +689,9 @@ + (void)initialize {
 | 
						|
       {NSAccessibilityEditableAncestorAttribute, @"editableAncestor"},
 | 
						|
       {NSAccessibilityElementBusyAttribute, @"elementBusy"},
 | 
						|
       {NSAccessibilityEnabledAttribute, @"enabled"},
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
       {NSAccessibilityEndTextMarkerAttribute, @"endTextMarker"},
 | 
						|
+#endif
 | 
						|
       {NSAccessibilityExpandedAttribute, @"expanded"},
 | 
						|
       {NSAccessibilityFocusableAncestorAttribute, @"focusableAncestor"},
 | 
						|
       {NSAccessibilityFocusedAttribute, @"focused"},
 | 
						|
@@ -722,13 +726,17 @@ + (void)initialize {
 | 
						|
       {NSAccessibilityRowsAttribute, @"rows"},
 | 
						|
       // TODO(aboxhall): expose
 | 
						|
       // NSAccessibilityServesAsTitleForUIElementsAttribute
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
       {NSAccessibilityStartTextMarkerAttribute, @"startTextMarker"},
 | 
						|
+#endif
 | 
						|
       {NSAccessibilitySelectedAttribute, @"selected"},
 | 
						|
       {NSAccessibilitySelectedChildrenAttribute, @"selectedChildren"},
 | 
						|
       {NSAccessibilitySelectedTextAttribute, @"selectedText"},
 | 
						|
       {NSAccessibilitySelectedTextRangeAttribute, @"selectedTextRange"},
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
       {NSAccessibilitySelectedTextMarkerRangeAttribute,
 | 
						|
        @"selectedTextMarkerRange"},
 | 
						|
+#endif
 | 
						|
       {NSAccessibilitySizeAttribute, @"size"},
 | 
						|
       {NSAccessibilitySortDirectionAttribute, @"sortDirection"},
 | 
						|
       {NSAccessibilitySubroleAttribute, @"subrole"},
 | 
						|
@@ -1226,6 +1234,7 @@ - (NSNumber*)enabled {
 | 
						|
                                   ax::mojom::Restriction::kDisabled];
 | 
						|
 }
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 // Returns a text marker that points to the last character in the document that
 | 
						|
 // can be selected with VoiceOver.
 | 
						|
 - (id)endTextMarker {
 | 
						|
@@ -1236,6 +1245,7 @@ - (id)endTextMarker {
 | 
						|
   BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
 | 
						|
   return CreateTextMarker(position->CreatePositionAtEndOfAnchor());
 | 
						|
 }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 - (NSNumber*)expanded {
 | 
						|
   if (![self instanceActive])
 | 
						|
@@ -2107,6 +2117,7 @@ - (NSValue*)selectedTextRange {
 | 
						|
   return [NSValue valueWithRange:NSMakeRange(selStart, selLength)];
 | 
						|
 }
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 - (id)selectedTextMarkerRange {
 | 
						|
   if (![self instanceActive])
 | 
						|
     return nil;
 | 
						|
@@ -2142,6 +2153,7 @@ - (id)selectedTextMarkerRange {
 | 
						|
       CreateAXPlatformRange(*anchorObject, anchorOffset, anchorAffinity,
 | 
						|
                             *focusObject, focusOffset, focusAffinity));
 | 
						|
 }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 - (NSValue*)size {
 | 
						|
   if (![self instanceActive])
 | 
						|
@@ -2174,6 +2186,7 @@ - (NSString*)sortDirection {
 | 
						|
   return nil;
 | 
						|
 }
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 // Returns a text marker that points to the first character in the document that
 | 
						|
 // can be selected with VoiceOver.
 | 
						|
 - (id)startTextMarker {
 | 
						|
@@ -2184,6 +2197,7 @@ - (id)startTextMarker {
 | 
						|
   BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
 | 
						|
   return CreateTextMarker(position->CreatePositionAtStartOfAnchor());
 | 
						|
 }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 // Returns a subrole based upon the role.
 | 
						|
 - (NSString*)subrole {
 | 
						|
@@ -2475,11 +2489,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
 | 
						|
   NSMutableAttributedString* attributedValue =
 | 
						|
       [[[NSMutableAttributedString alloc] initWithString:value] autorelease];
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
   if (!owner_->IsTextOnlyObject()) {
 | 
						|
     AXPlatformRange ax_range(owner_->CreatePositionAt(0),
 | 
						|
                              owner_->CreatePositionAt(int{text.length()}));
 | 
						|
     AddMisspelledTextAttributes(ax_range, attributedValue);
 | 
						|
   }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
   return [attributedValue attributedSubstringFromRange:range];
 | 
						|
 }
 | 
						|
@@ -2562,9 +2578,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
 | 
						|
       return ToBrowserAccessibilityCocoa(cell);
 | 
						|
   }
 | 
						|
 
 | 
						|
-  if ([attribute
 | 
						|
-          isEqualToString:
 | 
						|
-              NSAccessibilityUIElementForTextMarkerParameterizedAttribute]) {
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
+  if ([attribute isEqualToString:NSAccessibilityUIElementForTextMarkerParameterizedAttribute]) {
 | 
						|
     BrowserAccessibilityPositionInstance position =
 | 
						|
         CreatePositionFromTextMarker(parameter);
 | 
						|
     if (!position->IsNullPosition())
 | 
						|
@@ -2855,6 +2870,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
 | 
						|
 
 | 
						|
     return CreateTextMarker(root->CreatePositionAt(index));
 | 
						|
   }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
   if ([attribute isEqualToString:
 | 
						|
                      NSAccessibilityBoundsForRangeParameterizedAttribute]) {
 | 
						|
@@ -2888,6 +2904,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
 | 
						|
     return nil;
 | 
						|
   }
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
   if ([attribute
 | 
						|
           isEqualToString:
 | 
						|
               NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
 | 
						|
@@ -2968,6 +2985,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
 | 
						|
 
 | 
						|
     return @(child->GetIndexInParent());
 | 
						|
   }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
   return nil;
 | 
						|
 }
 | 
						|
diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
 | 
						|
index 790b79d9f67fae56ae1b30307f72a4022f35c854..ba99f5d222735cec8be17426e3ac3553ae656f77 100644
 | 
						|
--- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
 | 
						|
+++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
 | 
						|
@@ -493,6 +493,7 @@ void PostAnnouncementNotification(NSString* announcement) {
 | 
						|
       [user_info setObject:native_focus_object
 | 
						|
                     forKey:NSAccessibilityTextChangeElement];
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
       id selected_text = [native_focus_object selectedTextMarkerRange];
 | 
						|
       if (selected_text) {
 | 
						|
         NSString* const NSAccessibilitySelectedTextMarkerRangeAttribute =
 | 
						|
@@ -500,6 +501,7 @@ void PostAnnouncementNotification(NSString* announcement) {
 | 
						|
         [user_info setObject:selected_text
 | 
						|
                       forKey:NSAccessibilitySelectedTextMarkerRangeAttribute];
 | 
						|
       }
 | 
						|
+#endif
 | 
						|
     }
 | 
						|
   }
 | 
						|
 
 | 
						|
diff --git a/content/renderer/renderer_main_platform_delegate_mac.mm b/content/renderer/renderer_main_platform_delegate_mac.mm
 | 
						|
index e59ac93d0e1554a2df5d8c74db2beba25d090228..6657c48664bdec4964b382f80309d1bfd097a9e9 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"
 | 
						|
 
 | 
						|
+#ifndef 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() {
 | 
						|
+#ifndef 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.
 | 
						|
@@ -29,6 +32,7 @@ void DisableSystemServices() {
 | 
						|
   CHECK_EQ(result, kCGErrorSuccess);
 | 
						|
 
 | 
						|
   sandbox::DisableLaunchServices();
 | 
						|
+#endif
 | 
						|
 }
 | 
						|
 
 | 
						|
 }  // namespace
 | 
						|
diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm
 | 
						|
index b6bea74d9f9c2fcfba381477895e4c15741318fc..4a02e5659e85c507d480d7fb9b63ee10bad1fe85 100644
 | 
						|
--- a/device/bluetooth/bluetooth_adapter_mac.mm
 | 
						|
+++ b/device/bluetooth/bluetooth_adapter_mac.mm
 | 
						|
@@ -36,6 +36,7 @@
 | 
						|
 #include "device/bluetooth/bluetooth_low_energy_peripheral_manager_delegate.h"
 | 
						|
 #include "device/bluetooth/bluetooth_socket_mac.h"
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 extern "C" {
 | 
						|
 // Undocumented IOBluetooth Preference API [1]. Used by `blueutil` [2] and
 | 
						|
 // `Karabiner` [3] to programmatically control the Bluetooth state. Calling the
 | 
						|
@@ -49,6 +50,7 @@
 | 
						|
 // [4] https://support.apple.com/kb/PH25091
 | 
						|
 void IOBluetoothPreferenceSetControllerPowerState(int state);
 | 
						|
 }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 namespace {
 | 
						|
 
 | 
						|
@@ -121,8 +123,10 @@ CBCentralManagerState GetCBManagerState(CBCentralManager* manager) {
 | 
						|
       controller_state_function_(
 | 
						|
           base::BindRepeating(&BluetoothAdapterMac::GetHostControllerState,
 | 
						|
                               base::Unretained(this))),
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
       power_state_function_(
 | 
						|
           base::BindRepeating(IOBluetoothPreferenceSetControllerPowerState)),
 | 
						|
+#endif
 | 
						|
       should_update_name_(true),
 | 
						|
       classic_discovery_manager_(
 | 
						|
           BluetoothDiscoveryManagerMac::CreateClassic(this)),
 | 
						|
@@ -303,8 +307,12 @@ CBCentralManagerState GetCBManagerState(CBCentralManager* manager) {
 | 
						|
 }
 | 
						|
 
 | 
						|
 bool BluetoothAdapterMac::SetPoweredImpl(bool powered) {
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
   power_state_function_.Run(base::strict_cast<int>(powered));
 | 
						|
   return true;
 | 
						|
+#else
 | 
						|
+  return false;
 | 
						|
+#endif
 | 
						|
 }
 | 
						|
 
 | 
						|
 void BluetoothAdapterMac::RemovePairingDelegateInternal(
 | 
						|
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
 | 
						|
index 35fd1d7da0adfb8c8bef3d2ff3aa9ac25285421a..b7eda4e11c464e733e4ddb1cbf009ba811fc332a 100644
 | 
						|
--- a/media/audio/BUILD.gn
 | 
						|
+++ b/media/audio/BUILD.gn
 | 
						|
@@ -180,6 +180,12 @@ source_set("audio") {
 | 
						|
       "mac/scoped_audio_unit.cc",
 | 
						|
       "mac/scoped_audio_unit.h",
 | 
						|
     ]
 | 
						|
+    if (is_mas_build) {
 | 
						|
+      sources -= [
 | 
						|
+        "mac/coreaudio_dispatch_override.cc",
 | 
						|
+        "mac/coreaudio_dispatch_override.h",
 | 
						|
+      ]
 | 
						|
+    }
 | 
						|
     libs += [
 | 
						|
       "AudioToolbox.framework",
 | 
						|
       "AudioUnit.framework",
 | 
						|
diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc
 | 
						|
index 7ec6dab821b542cb0096e7f8875ba21703463087..3e26c9dd0a296b8d9c99ca1ee9d9faba14e8d618 100644
 | 
						|
--- a/media/audio/mac/audio_manager_mac.cc
 | 
						|
+++ b/media/audio/mac/audio_manager_mac.cc
 | 
						|
@@ -882,7 +882,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters(
 | 
						|
 
 | 
						|
 void AudioManagerMac::InitializeOnAudioThread() {
 | 
						|
   DCHECK(GetTaskRunner()->BelongsToCurrentThread());
 | 
						|
-  InitializeCoreAudioDispatchOverride();
 | 
						|
+  // InitializeCoreAudioDispatchOverride();
 | 
						|
   power_observer_.reset(new AudioPowerObserver());
 | 
						|
 }
 | 
						|
 
 | 
						|
diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc
 | 
						|
index ee2d5721425c86124de6396b77a564d55e89a212..954812b9dda506b16483c37e9ed938716aa560d1 100644
 | 
						|
--- a/net/dns/dns_config_service_posix.cc
 | 
						|
+++ b/net/dns/dns_config_service_posix.cc
 | 
						|
@@ -244,6 +244,7 @@ class DnsConfigServicePosix::Watcher {
 | 
						|
 
 | 
						|
   bool Watch() {
 | 
						|
     bool success = true;
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
     if (!config_watcher_.Watch(base::Bind(&Watcher::OnConfigChanged,
 | 
						|
                                           base::Unretained(this)))) {
 | 
						|
       LOG(ERROR) << "DNS config watch failed to start.";
 | 
						|
@@ -265,6 +266,7 @@ class DnsConfigServicePosix::Watcher {
 | 
						|
                                 DNS_CONFIG_WATCH_MAX);
 | 
						|
     }
 | 
						|
 #endif  // !defined(OS_ANDROID) && !defined(OS_IOS)
 | 
						|
+#endif
 | 
						|
     return success;
 | 
						|
   }
 | 
						|
 
 | 
						|
diff --git a/sandbox/mac/sandbox_compiler.cc b/sandbox/mac/sandbox_compiler.cc
 | 
						|
index e524aa7b851022abed1edac39e18d8d92e5349b4..718d3f963da5c1a15a1bdb0e6043f89bc0f940f8 100644
 | 
						|
--- a/sandbox/mac/sandbox_compiler.cc
 | 
						|
+++ b/sandbox/mac/sandbox_compiler.cc
 | 
						|
@@ -28,6 +28,7 @@ bool SandboxCompiler::InsertStringParam(const std::string& key,
 | 
						|
 }
 | 
						|
 
 | 
						|
 bool SandboxCompiler::CompileAndApplyProfile(std::string* error) {
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
   char* error_internal = nullptr;
 | 
						|
   std::vector<const char*> params;
 | 
						|
 
 | 
						|
@@ -44,6 +45,7 @@ bool SandboxCompiler::CompileAndApplyProfile(std::string* error) {
 | 
						|
     sandbox::Seatbelt::FreeError(error_internal);
 | 
						|
     return false;
 | 
						|
   }
 | 
						|
+#endif
 | 
						|
   return true;
 | 
						|
 }
 | 
						|
 
 | 
						|
diff --git a/sandbox/mac/seatbelt.cc b/sandbox/mac/seatbelt.cc
 | 
						|
index e0c31170acd13c9997c6b1d04c6de1420feaf422..0e561f97b33380bfbe52e64c2c4a6988095e8074 100644
 | 
						|
--- a/sandbox/mac/seatbelt.cc
 | 
						|
+++ b/sandbox/mac/seatbelt.cc
 | 
						|
@@ -64,7 +64,11 @@ void Seatbelt::FreeError(char* errorbuf) {
 | 
						|
 
 | 
						|
 // static
 | 
						|
 bool Seatbelt::IsSandboxed() {
 | 
						|
+#ifndef 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 9073364142e8f98c8872d9b5509f92f433e06624..2356add74dfae98299a4e2b207aa26fc109f47f3 100644
 | 
						|
--- a/sandbox/mac/seatbelt_extension.cc
 | 
						|
+++ b/sandbox/mac/seatbelt_extension.cc
 | 
						|
@@ -8,6 +8,7 @@
 | 
						|
 #include "base/memory/ptr_util.h"
 | 
						|
 #include "sandbox/mac/seatbelt_extension_token.h"
 | 
						|
 
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
 // libsandbox private API.
 | 
						|
 extern "C" {
 | 
						|
 extern const char* APP_SANDBOX_READ;
 | 
						|
@@ -18,6 +19,7 @@ char* sandbox_extension_issue_file(const char* type,
 | 
						|
                                    const char* path,
 | 
						|
                                    uint32_t flags);
 | 
						|
 }
 | 
						|
+#endif
 | 
						|
 
 | 
						|
 namespace sandbox {
 | 
						|
 
 | 
						|
@@ -46,7 +48,11 @@ std::unique_ptr<SeatbeltExtension> SeatbeltExtension::FromToken(
 | 
						|
 
 | 
						|
 bool SeatbeltExtension::Consume() {
 | 
						|
   DCHECK(!token_.empty());
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
   handle_ = sandbox_extension_consume(token_.c_str());
 | 
						|
+#else
 | 
						|
+  handle_ = -1;
 | 
						|
+#endif
 | 
						|
   return handle_ > 0;
 | 
						|
 }
 | 
						|
 
 | 
						|
@@ -58,7 +64,11 @@ bool SeatbeltExtension::ConsumePermanently() {
 | 
						|
 }
 | 
						|
 
 | 
						|
 bool SeatbeltExtension::Revoke() {
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
   int rv = sandbox_extension_release(handle_);
 | 
						|
+#else
 | 
						|
+  int rv = -1;
 | 
						|
+#endif
 | 
						|
   handle_ = 0;
 | 
						|
   token_.clear();
 | 
						|
   return rv == 0;
 | 
						|
@@ -76,9 +86,11 @@ SeatbeltExtension::SeatbeltExtension(const std::string& token)
 | 
						|
 char* SeatbeltExtension::IssueToken(SeatbeltExtension::Type type,
 | 
						|
                                     const std::string& resource) {
 | 
						|
   switch (type) {
 | 
						|
+#ifndef MAS_BUILD
 | 
						|
     case FILE_READ:
 | 
						|
       return sandbox_extension_issue_file(APP_SANDBOX_READ, resource.c_str(),
 | 
						|
                                           0);
 | 
						|
+#endif
 | 
						|
     default:
 | 
						|
       NOTREACHED();
 | 
						|
       return nullptr;
 |