From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cheng Zhao <zcbenz@gmail.com>
Date: Thu, 20 Sep 2018 17:48:49 -0700
Subject: mas_blink_no_private_api.patch

Guard usages in chromium code 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/third_party/blink/renderer/core/editing/kill_ring_mac.mm b/third_party/blink/renderer/core/editing/kill_ring_mac.mm
index 94afefcee81b87c05bf9b1199d90d3d4b5ea84a6..2ec7f04c71824b47de1ddbf1f0e8625d33e833a8 100644
--- a/third_party/blink/renderer/core/editing/kill_ring_mac.mm
+++ b/third_party/blink/renderer/core/editing/kill_ring_mac.mm
@@ -27,6 +27,7 @@
 
 namespace blink {
 
+#ifndef MAS_BUILD
 extern "C" {
 
 // Kill ring calls. Would be better to use NSKillRing.h, but that's not
@@ -39,38 +40,53 @@ NSString* _NSYankFromKillRing();
 void _NSNewKillRingSequence();
 void _NSSetKillRingToYankedState();
 }
+#endif
 
 static void InitializeKillRingIfNeeded() {
   static bool initialized_kill_ring = false;
   if (!initialized_kill_ring) {
     initialized_kill_ring = true;
+#ifndef MAS_BUILD
     _NSInitializeKillRing();
+#endif
   }
 }
 
 void KillRing::Append(const String& string) {
   InitializeKillRingIfNeeded();
+#ifndef MAS_BUILD
   _NSAppendToKillRing(string);
+#endif
 }
 
 void KillRing::Prepend(const String& string) {
   InitializeKillRingIfNeeded();
+#ifndef MAS_BUILD
   _NSPrependToKillRing(string);
+#endif
 }
 
 String KillRing::Yank() {
   InitializeKillRingIfNeeded();
+#ifndef MAS_BUILD
   return _NSYankFromKillRing();
+#else
+  return "";
+#endif
 }
 
 void KillRing::StartNewSequence() {
   InitializeKillRingIfNeeded();
+#ifndef MAS_BUILD
   _NSNewKillRingSequence();
+#endif
 }
 
 void KillRing::SetToYankedState() {
   InitializeKillRingIfNeeded();
+#ifndef MAS_BUILD
   _NSSetKillRingToYankedState();
+#endif
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/theme_painter_mac.mm b/third_party/blink/renderer/core/paint/theme_painter_mac.mm
index 7a1260db0a139f9f3f8a823af2c220f36162812a..bf9cf7046e2fc9cdfee5b92f2a348185cc00b944 100644
--- a/third_party/blink/renderer/core/paint/theme_painter_mac.mm
+++ b/third_party/blink/renderer/core/paint/theme_painter_mac.mm
@@ -42,6 +42,7 @@
 
 // The methods in this file are specific to the Mac OS X platform.
 
+#ifndef MAS_BUILD
 // Forward declare Mac SPIs.
 extern "C" {
 void _NSDrawCarbonThemeBezel(NSRect frame, BOOL enabled, BOOL flipped);
@@ -51,6 +52,7 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
                                BOOL flipped,
                                BOOL always_yes);
 }
+#endif
 
 namespace blink {
 
@@ -73,10 +75,12 @@ bool ThemePainterMac::PaintTextField(const Node* node,
   // behavior change while remaining a fragile solution.
   // https://bugs.chromium.org/p/chromium/issues/detail?id=658085#c3
   if (!use_ns_text_field_cell) {
+#ifndef MAS_BUILD
     _NSDrawCarbonThemeBezel(
         CGRect(r),
         LayoutTheme::IsEnabled(node) && !LayoutTheme::IsReadOnlyControl(node),
         YES);
+#endif
     return false;
   }
 
@@ -162,10 +166,12 @@ bool ThemePainterMac::PaintTextArea(const Node* node,
                                     const PaintInfo& paint_info,
                                     const IntRect& r) {
   LocalCurrentGraphicsContext local_context(paint_info.context, r);
+#ifndef MAS_BUILD
   _NSDrawCarbonThemeListBox(
       CGRect(r),
       LayoutTheme::IsEnabled(node) && !LayoutTheme::IsReadOnlyControl(node),
       YES, YES);
+#endif
   return false;
 }
 
