Index: ui/native_theme/native_theme_mac.mm |
diff --git a/ui/native_theme/native_theme_mac.mm b/ui/native_theme/native_theme_mac.mm |
index c3152a8d14582fcd4275d808283e813769e68e6c..ffdd864caaf038dcadb07ba2ceddb940df1c49dd 100644 |
--- a/ui/native_theme/native_theme_mac.mm |
+++ b/ui/native_theme/native_theme_mac.mm |
@@ -4,14 +4,23 @@ |
#include "ui/native_theme/native_theme_mac.h" |
+#include <Cocoa/Cocoa.h> |
+ |
#include "base/basictypes.h" |
#include "ui/native_theme/common_theme.h" |
+#include "skia/ext/skia_utils_mac.h" |
namespace { |
const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128); |
const SkColor kDialogBackgroundColor = SkColorSetRGB(251, 251, 251); |
+// System colors use NSNamedColorSpace System. |
+SkColor SystemColor(NSColor* color) { |
+ return gfx::NSDeviceColorToSkColor( |
+ [color colorUsingColorSpace:[NSColorSpace deviceRGBColorSpace]]); |
+} |
+ |
} // namespace |
namespace ui { |
@@ -35,6 +44,12 @@ SkColor NativeThemeMac::GetSystemColor(ColorId color_id) const { |
switch (color_id) { |
case kColorId_DialogBackground: |
return kDialogBackgroundColor; |
+ case kColorId_LabelEnabledColor: |
+ return SystemColor([NSColor controlTextColor]); |
+ case kColorId_LabelDisabledColor: |
+ return SystemColor([NSColor disabledControlTextColor]); |
+ case kColorId_LabelBackgroundColor: |
+ return SystemColor([NSColor textBackgroundColor]); |
default: |
NOTREACHED() << "Invalid color_id: " << color_id; |
} |