Commit e59a2937 authored by Robert Liao's avatar Robert Liao Committed by Commit Bot

Map in some NativeTheme Redirects to ColorProvider

BUG=1057754

Change-Id: Ibd1c4c7cfb67ec58ba34b539cea871246e03fd06
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2111058
Auto-Submit: Robert Liao <robliao@chromium.org>
Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#751858}
parent 26012454
...@@ -8,7 +8,9 @@ ...@@ -8,7 +8,9 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "base/containers/flat_map.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/no_destructor.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_features.h"
#include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches.h"
...@@ -23,6 +25,120 @@ ...@@ -23,6 +25,120 @@
namespace ui { namespace ui {
namespace {
const base::flat_map<NativeTheme::ColorId, ColorId>&
NativeThemeColorIdToColorIdMap() {
using NTCID = NativeTheme::ColorId;
static const base::NoDestructor<base::flat_map<NativeTheme::ColorId, ColorId>>
map({
{NTCID::kColorId_AlertSeverityHigh, kColorAlertHighSeverity},
{NTCID::kColorId_AlertSeverityLow, kColorAlertLowSeverity},
{NTCID::kColorId_AlertSeverityMedium, kColorAlertMediumSeverity},
{NTCID::kColorId_BubbleBackground, kColorBubbleBackground},
{NTCID::kColorId_BubbleFooterBackground,
kColorBubbleFooterBackground},
{NTCID::kColorId_DialogBackground, kColorButtonBackground},
{NTCID::kColorId_ButtonBorderColor, kColorButtonBorder},
{NTCID::kColorId_ButtonDisabledColor, kColorButtonDisabledForeground},
{NTCID::kColorId_ButtonEnabledColor, kColorButtonForeground},
{NTCID::kColorId_ProminentButtonColor,
kColorButtonProminentBackground},
{NTCID::kColorId_ProminentButtonDisabledColor,
kColorButtonProminentDisabledBackground},
{NTCID::kColorId_ProminentButtonFocusedColor,
kColorButtonProminentFocusedBackground},
{NTCID::kColorId_TextOnProminentButtonColor,
kColorButtonProminentForeground},
{NTCID::kColorId_ButtonUncheckedColor,
kColorButtonUncheckedForeground},
{NTCID::kColorId_DialogBackground, kColorDialogBackground},
{NTCID::kColorId_DialogForeground, kColorDialogForeground},
{NTCID::kColorId_FocusedBorderColor, kColorFocusableBorderFocused},
{NTCID::kColorId_UnfocusedBorderColor,
kColorFocusableBorderUnfocused},
{NTCID::kColorId_DefaultIconColor, kColorIcon},
{NTCID::kColorId_LabelDisabledColor, kColorLabelDisabledForeground},
{NTCID::kColorId_LabelEnabledColor, kColorLabelForeground},
{NTCID::kColorId_LabelSecondaryColor, kColorLabelSecondaryForeground},
{NTCID::kColorId_LabelTextSelectionBackgroundFocused,
kColorLabelSelectionBackground},
{NTCID::kColorId_LabelTextSelectionColor,
kColorLabelSelectionForeground},
{NTCID::kColorId_LinkDisabled, kColorLinkDisabledForeground},
{NTCID::kColorId_LinkEnabled, kColorLinkForeground},
{NTCID::kColorId_LinkPressed, kColorLinkPressedForeground},
{NTCID::kColorId_MenuBackgroundColor, kColorMenuBackground},
{NTCID::kColorId_MenuBorderColor, kColorMenuBorder},
{NTCID::kColorId_MenuItemAlertBackgroundColor,
kColorMenuItemAlertedBackground},
{NTCID::kColorId_DisabledMenuItemForegroundColor,
kColorMenuItemDisabledForeground},
{NTCID::kColorId_EnabledMenuItemForegroundColor,
kColorMenuItemForeground},
{NTCID::kColorId_HighlightedMenuItemBackgroundColor,
kColorMenuItemHighlightedBackground},
{NTCID::kColorId_HighlightedMenuItemForegroundColor,
kColorMenuItemHighlightedForeground},
{NTCID::kColorId_MenuItemMinorTextColor,
kColorMenuItemSecondaryForeground},
{NTCID::kColorId_FocusedMenuItemBackgroundColor,
kColorMenuItemSelectedBackground},
{NTCID::kColorId_SelectedMenuItemForegroundColor,
kColorMenuItemSelectedForeground},
{NTCID::kColorId_MenuSeparatorColor, kColorMenuSeparator},
{NTCID::kColorId_TabBottomBorder, kColorTabContentSeparator},
{NTCID::kColorId_TabTitleColorInactive, kColorTabForeground},
{NTCID::kColorId_TabTitleColorActive, kColorTabSelectedForeground},
{NTCID::kColorId_TableBackground, kColorTableBackground},
// TODO(http://crbug.com/1057754): kColorId_TableBackgroundAlternate,
// which is not needed on platforms other than Mac..
{NTCID::kColorId_TableText, kColorTableForeground},
{NTCID::kColorId_TableGroupingIndicatorColor,
kColorTableGroupingIndicator},
{NTCID::kColorId_TableHeaderBackground, kColorTableHeaderBackground},
{NTCID::kColorId_TableHeaderText, kColorTableHeaderForeground},
// TODO(http://crbug.com/1057754): kColorId_TableHeaderSeparator,
// which is implemented as a native theme override on Mac.
{NTCID::kColorId_TableSelectionBackgroundFocused,
kColorTableSelectedFocusedBackground},
{NTCID::kColorId_TableSelectedText,
kColorTableSelectedFocusedForeground},
{NTCID::kColorId_TableSelectionBackgroundUnfocused,
kColorTableSelectedUnfocusedBackground},
{NTCID::kColorId_TableSelectedTextUnfocused,
kColorTableSelectedUnfocusedForeground},
{NTCID::kColorId_TextfieldDefaultBackground,
kColorTextfieldBackground},
{NTCID::kColorId_TextfieldReadOnlyBackground,
kColorTextfieldDisabledBackground},
{NTCID::kColorId_TextfieldReadOnlyColor,
kColorTextfieldDisabledForeground},
{NTCID::kColorId_TextfieldDefaultColor, kColorTextfieldForeground},
{NTCID::kColorId_TextfieldSelectionBackgroundFocused,
kColorTextfieldSelectionBackground},
{NTCID::kColorId_TextfieldSelectionColor,
kColorTextfieldSelectionForeground},
{NTCID::kColorId_ThrobberSpinningColor, kColorThrobber},
{NTCID::kColorId_TooltipBackground, kColorTooltipBackground},
{NTCID::kColorId_TooltipText, kColorTooltipForeground},
{NTCID::kColorId_TreeBackground, kColorTreeBackground},
{NTCID::kColorId_TreeText, kColorTreeNodeForeground},
{NTCID::kColorId_TreeSelectionBackgroundFocused,
kColorTreeNodeSelectedFocusedBackground},
{NTCID::kColorId_TreeSelectedText,
kColorTreeNodeSelectedFocusedForeground},
{NTCID::kColorId_TreeSelectionBackgroundUnfocused,
kColorTreeNodeSelectedUnfocusedBackground},
{NTCID::kColorId_TreeSelectedTextUnfocused,
kColorTreeNodeSelectedUnfocusedForeground},
{NTCID::kColorId_WindowBackground, kColorWindowBackground},
});
return *map;
}
} // namespace
NativeTheme::ExtraParams::ExtraParams() { NativeTheme::ExtraParams::ExtraParams() {
memset(this, 0, sizeof(*this)); memset(this, 0, sizeof(*this));
} }
...@@ -51,14 +167,10 @@ SkColor NativeTheme::GetSystemColor(ColorId color_id, ...@@ -51,14 +167,10 @@ SkColor NativeTheme::GetSystemColor(ColorId color_id,
ColorProviderManager::ColorMode::kLight, ColorProviderManager::ColorMode::kLight,
ColorProviderManager::ContrastMode::kNormal); ColorProviderManager::ContrastMode::kNormal);
} }
switch (color_id) { auto color_id_map = NativeThemeColorIdToColorIdMap();
case kColorId_WindowBackground: auto result = color_id_map.find(color_id);
return color_provider_->GetColor(kColorWindowBackground); if (result != color_id_map.cend())
case kColorId_DialogBackground: return color_provider_->GetColor(result->second);
return color_provider_->GetColor(kColorDialogBackground);
default:
break;
}
} }
return GetAuraColor(color_id, this, color_scheme); return GetAuraColor(color_id, this, color_scheme);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment