ash_color_provider_unittest.cc 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/style/ash_color_provider.h"
  5. #include <ostream>
  6. #include "ash/public/cpp/style/dark_light_mode_controller.h"
  7. #include "ash/test/ash_test_helper.h"
  8. #include "base/strings/stringprintf.h"
  9. #include "base/test/scoped_feature_list.h"
  10. #include "base/test/task_environment.h"
  11. #include "chromeos/constants/chromeos_features.h"
  12. #include "testing/gtest/include/gtest/gtest-param-test.h"
  13. #include "testing/gtest/include/gtest/gtest.h"
  14. #include "ui/color/color_provider_manager.h"
  15. namespace ash {
  16. namespace {
  17. using ColorMode = ui::ColorProviderManager::ColorMode;
  18. template <class LayerType>
  19. struct ColorsTestCase {
  20. ColorMode color_mode;
  21. LayerType type;
  22. SkColor expected_color;
  23. };
  24. std::string ColorToString(SkColor color) {
  25. uint8_t alpha = SkColorGetA(color);
  26. if (alpha == 0xFF)
  27. return base::StringPrintf("RGB(0x%X,0x%X,0x%X)", SkColorGetR(color),
  28. SkColorGetG(color), SkColorGetB(color));
  29. return base::StringPrintf("ARGB(0x%X,0x%X,0x%X,0x%X)", alpha,
  30. SkColorGetR(color), SkColorGetG(color),
  31. SkColorGetB(color));
  32. }
  33. template <class T>
  34. std::ostream& operator<<(std::ostream& os, const ColorsTestCase<T>& test_case) {
  35. os << "{";
  36. os << (test_case.color_mode == ColorMode::kDark ? "ColorMode::kDark"
  37. : "ColorMode::kLight");
  38. os << ", ";
  39. os << (int)test_case.type;
  40. os << ", ";
  41. os << ColorToString(test_case.expected_color);
  42. os << "}";
  43. return os;
  44. }
  45. template <class LayerType>
  46. class AshColorProviderBase
  47. : public testing::TestWithParam<ColorsTestCase<LayerType>> {
  48. public:
  49. AshColorProviderBase()
  50. : scoped_feature_list_({chromeos::features::kDarkLightMode}),
  51. task_environment_(base::test::TaskEnvironment::MainThreadType::UI) {}
  52. void SetUp() override {
  53. ash_test_helper_.SetUp();
  54. color_provider_ = AshColorProvider::Get();
  55. }
  56. void TearDown() override {
  57. ash_test_helper_.TearDown();
  58. color_provider_ = nullptr;
  59. }
  60. protected:
  61. base::test::ScopedFeatureList scoped_feature_list_;
  62. base::test::TaskEnvironment task_environment_;
  63. AshTestHelper ash_test_helper_;
  64. AshColorProvider* color_provider_;
  65. };
  66. using AshColorProviderBaseLayerTest =
  67. AshColorProviderBase<ColorProvider::BaseLayerType>;
  68. TEST_P(AshColorProviderBaseLayerTest, TestBaseColors) {
  69. const auto& test_case = GetParam();
  70. bool dark = test_case.color_mode == ColorMode::kDark;
  71. DarkLightModeController::Get()->SetDarkModeEnabledForTest(dark);
  72. EXPECT_EQ(test_case.expected_color,
  73. color_provider_->GetBaseLayerColor(test_case.type))
  74. << "Colors do not match. Expected " << test_case << " Actual: "
  75. << ColorToString(color_provider_->GetBaseLayerColor(test_case.type));
  76. }
  77. INSTANTIATE_TEST_SUITE_P(
  78. AshColorProviderTests,
  79. AshColorProviderBaseLayerTest,
  80. testing::ValuesIn<ColorsTestCase<ColorProvider::BaseLayerType>>(
  81. {// Light mode values
  82. {ColorMode::kLight, ColorProvider::BaseLayerType::kTransparent20,
  83. SkColorSetARGB(0x33, 0xFF, 0xFF, 0xFF)},
  84. {ColorMode::kLight, ColorProvider::BaseLayerType::kTransparent40,
  85. SkColorSetARGB(0x66, 0xFF, 0xFF, 0xFF)},
  86. {ColorMode::kLight, ColorProvider::BaseLayerType::kTransparent60,
  87. SkColorSetARGB(0x99, 0xFF, 0xFF, 0xFF)},
  88. {ColorMode::kLight, ColorProvider::BaseLayerType::kTransparent80,
  89. SkColorSetARGB(0xCC, 0xFF, 0xFF, 0xFF)},
  90. {ColorMode::kLight,
  91. ColorProvider::BaseLayerType::kInvertedTransparent80,
  92. SkColorSetARGB(0xCC, 0x00, 0x00, 0x00)},
  93. {ColorMode::kLight, ColorProvider::BaseLayerType::kTransparent90,
  94. SkColorSetARGB(0xE6, 0xFF, 0xFF, 0xFF)},
  95. {ColorMode::kLight, ColorProvider::BaseLayerType::kTransparent95,
  96. SkColorSetARGB(0xF2, 0xFF, 0xFF, 0xFF)},
  97. {ColorMode::kLight, ColorProvider::BaseLayerType::kOpaque,
  98. SkColorSetARGB(0xFF, 0xFF, 0xFF, 0xFF)},
  99. // Dark mode values
  100. {ColorMode::kDark, ColorProvider::BaseLayerType::kTransparent20,
  101. SkColorSetARGB(0x33, 0x20, 0x21, 0x24)},
  102. {ColorMode::kDark, ColorProvider::BaseLayerType::kTransparent40,
  103. SkColorSetARGB(0x66, 0x20, 0x21, 0x24)},
  104. {ColorMode::kDark, ColorProvider::BaseLayerType::kTransparent60,
  105. SkColorSetARGB(0x99, 0x20, 0x21, 0x24)},
  106. {ColorMode::kDark, ColorProvider::BaseLayerType::kTransparent80,
  107. SkColorSetARGB(0xCC, 0x20, 0x21, 0x24)},
  108. {ColorMode::kDark,
  109. ColorProvider::BaseLayerType::kInvertedTransparent80,
  110. SkColorSetARGB(0xCC, 0xDF, 0xDE, 0xDB)},
  111. {ColorMode::kDark, ColorProvider::BaseLayerType::kTransparent90,
  112. SkColorSetARGB(0xE6, 0x20, 0x21, 0x24)},
  113. {ColorMode::kDark, ColorProvider::BaseLayerType::kTransparent95,
  114. SkColorSetARGB(0xF2, 0x20, 0x21, 0x24)},
  115. {ColorMode::kDark, ColorProvider::BaseLayerType::kOpaque,
  116. SkColorSetARGB(0xFF, 0x20, 0x21, 0x24)}}));
  117. using AshColorProviderControlsLayerTest =
  118. AshColorProviderBase<ColorProvider::ControlsLayerType>;
  119. TEST_P(AshColorProviderControlsLayerTest, TestControlsColors) {
  120. const auto& test_case = GetParam();
  121. bool dark = test_case.color_mode == ColorMode::kDark;
  122. DarkLightModeController::Get()->SetDarkModeEnabledForTest(dark);
  123. EXPECT_EQ(test_case.expected_color,
  124. color_provider_->GetControlsLayerColor(test_case.type))
  125. << "Colors do not match. Expected " << test_case << " Actual: "
  126. << ColorToString(color_provider_->GetControlsLayerColor(test_case.type));
  127. }
  128. INSTANTIATE_TEST_SUITE_P(
  129. AshColorProviderTests,
  130. AshColorProviderControlsLayerTest,
  131. testing::ValuesIn<ColorsTestCase<ColorProvider::ControlsLayerType>>(
  132. {// Dark mode
  133. {ColorMode::kDark,
  134. ColorProvider::ControlsLayerType::kHairlineBorderColor,
  135. SkColorSetARGB(0x24, 0xFF, 0xFF, 0xFF)},
  136. {ColorMode::kDark,
  137. ColorProvider::ControlsLayerType::kControlBackgroundColorActive,
  138. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  139. {ColorMode::kDark,
  140. ColorProvider::ControlsLayerType::kControlBackgroundColorInactive,
  141. SkColorSetARGB(0x1A, 0xFF, 0xFF, 0xFF)},
  142. {ColorMode::kDark,
  143. ColorProvider::ControlsLayerType::kControlBackgroundColorAlert,
  144. SkColorSetRGB(0xF2, 0x8B, 0x82)},
  145. {ColorMode::kDark,
  146. ColorProvider::ControlsLayerType::kControlBackgroundColorWarning,
  147. SkColorSetRGB(0xFD, 0xD6, 0x63)},
  148. {ColorMode::kDark,
  149. ColorProvider::ControlsLayerType::kControlBackgroundColorPositive,
  150. SkColorSetRGB(0x81, 0xC9, 0x95)},
  151. {ColorMode::kDark, ColorProvider::ControlsLayerType::kFocusAuraColor,
  152. SkColorSetARGB(0x3D, 0x8A, 0xB4, 0xF8)},
  153. {ColorMode::kDark, ColorProvider::ControlsLayerType::kFocusRingColor,
  154. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  155. {ColorMode::kDark, ColorProvider::ControlsLayerType::kHighlightColor1,
  156. SkColorSetARGB(0x14, 0xFF, 0xFF, 0xFF)},
  157. {ColorMode::kDark, ColorProvider::ControlsLayerType::kHighlightColor2,
  158. SkColorSetARGB(0x0F, 0xFF, 0xFF, 0xFF)},
  159. {ColorMode::kDark, ColorProvider::ControlsLayerType::kHighlightColor3,
  160. SkColorSetARGB(0x14, 0xFF, 0xFF, 0xFF)},
  161. {ColorMode::kDark, ColorProvider::ControlsLayerType::kBorderColor1,
  162. SkColorSetARGB(0xCC, 0x20, 0x21, 0x24)},
  163. {ColorMode::kDark, ColorProvider::ControlsLayerType::kBorderColor2,
  164. SkColorSetARGB(0x99, 0x20, 0x21, 0x24)},
  165. {ColorMode::kDark, ColorProvider::ControlsLayerType::kBorderColor3,
  166. SkColorSetARGB(0x0F, 0x0, 0x0, 0x0)},
  167. // Light mode
  168. {ColorMode::kLight,
  169. ColorProvider::ControlsLayerType::kHairlineBorderColor,
  170. SkColorSetARGB(0x24, 0x0, 0x0, 0x0)},
  171. {ColorMode::kLight,
  172. ColorProvider::ControlsLayerType::kControlBackgroundColorActive,
  173. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  174. {ColorMode::kLight,
  175. ColorProvider::ControlsLayerType::kControlBackgroundColorInactive,
  176. SkColorSetARGB(0x0D, 0x0, 0x0, 0x0)},
  177. {ColorMode::kLight,
  178. ColorProvider::ControlsLayerType::kControlBackgroundColorAlert,
  179. SkColorSetRGB(0xD9, 0x30, 0x25)},
  180. {ColorMode::kLight,
  181. ColorProvider::ControlsLayerType::kControlBackgroundColorWarning,
  182. SkColorSetRGB(0xE3, 0x74, 0x0)},
  183. {ColorMode::kLight,
  184. ColorProvider::ControlsLayerType::kControlBackgroundColorPositive,
  185. SkColorSetRGB(0x1E, 0x8E, 0x3E)},
  186. {ColorMode::kLight, ColorProvider::ControlsLayerType::kFocusAuraColor,
  187. SkColorSetARGB(0x3D, 0x1A, 0x73, 0xE8)},
  188. {ColorMode::kLight, ColorProvider::ControlsLayerType::kFocusRingColor,
  189. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  190. {ColorMode::kLight, ColorProvider::ControlsLayerType::kHighlightColor1,
  191. SkColorSetARGB(0x4C, 0xFF, 0xFF, 0xFF)},
  192. {ColorMode::kLight, ColorProvider::ControlsLayerType::kHighlightColor2,
  193. SkColorSetARGB(0x33, 0xFF, 0xFF, 0xFF)},
  194. {ColorMode::kLight, ColorProvider::ControlsLayerType::kHighlightColor3,
  195. SkColorSetARGB(0x4C, 0xFF, 0xFF, 0xFF)},
  196. {ColorMode::kLight, ColorProvider::ControlsLayerType::kBorderColor1,
  197. SkColorSetARGB(0x0F, 0x0, 0x0, 0x0)},
  198. {ColorMode::kLight, ColorProvider::ControlsLayerType::kBorderColor2,
  199. SkColorSetARGB(0x0F, 0x0, 0x0, 0x0)},
  200. {ColorMode::kLight, ColorProvider::ControlsLayerType::kBorderColor3,
  201. SkColorSetARGB(0x0F, 0x0, 0x0, 0x0)}}));
  202. class AshColorProviderContentTest
  203. : public AshColorProviderBase<ColorProvider::ContentLayerType> {};
  204. TEST_P(AshColorProviderContentTest, Colors) {
  205. const auto& test_case = GetParam();
  206. bool dark = test_case.color_mode == ColorMode::kDark;
  207. DarkLightModeController::Get()->SetDarkModeEnabledForTest(dark);
  208. SkColor actual_color = color_provider_->GetContentLayerColor(test_case.type);
  209. EXPECT_EQ(test_case.expected_color, actual_color)
  210. << "Colors do not match. Expected " << test_case
  211. << " Actual: " << ColorToString(actual_color);
  212. }
  213. INSTANTIATE_TEST_SUITE_P(
  214. AshColorProviderTests,
  215. AshColorProviderContentTest,
  216. testing::ValuesIn<ColorsTestCase<ColorProvider::ContentLayerType>>(
  217. {// Light colors
  218. {ColorMode::kLight, ColorProvider::ContentLayerType::kScrollBarColor,
  219. SkColorSetRGB(0x5F, 0x63, 0x68)},
  220. {ColorMode::kLight, ColorProvider::ContentLayerType::kSeparatorColor,
  221. SkColorSetARGB(0x24, 0x0, 0x0, 0x0)},
  222. {ColorMode::kLight, ColorProvider::ContentLayerType::kTextColorPrimary,
  223. SkColorSetRGB(0x20, 0x21, 0x24)},
  224. {ColorMode::kLight,
  225. ColorProvider::ContentLayerType::kInvertedTextColorPrimary,
  226. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  227. {ColorMode::kLight,
  228. ColorProvider::ContentLayerType::kTextColorSecondary,
  229. SkColorSetRGB(0x5F, 0x63, 0x68)},
  230. {ColorMode::kLight, ColorProvider::ContentLayerType::kTextColorAlert,
  231. SkColorSetRGB(0xD9, 0x30, 0x25)},
  232. {ColorMode::kLight, ColorProvider::ContentLayerType::kTextColorWarning,
  233. SkColorSetRGB(0xE3, 0x74, 0x0)},
  234. {ColorMode::kLight,
  235. ColorProvider::ContentLayerType::kTextColorPositive,
  236. SkColorSetRGB(0x1E, 0x8E, 0x3E)},
  237. {ColorMode::kLight, ColorProvider::ContentLayerType::kTextColorURL,
  238. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  239. {ColorMode::kLight, ColorProvider::ContentLayerType::kIconColorPrimary,
  240. SkColorSetRGB(0x20, 0x21, 0x24)},
  241. {ColorMode::kLight,
  242. ColorProvider::ContentLayerType::kIconColorSecondary,
  243. SkColorSetRGB(0x9A, 0xA0, 0xA6)},
  244. {ColorMode::kLight, ColorProvider::ContentLayerType::kIconColorAlert,
  245. SkColorSetRGB(0xD9, 0x30, 0x25)},
  246. {ColorMode::kLight, ColorProvider::ContentLayerType::kIconColorWarning,
  247. SkColorSetRGB(0xE3, 0x74, 0x0)},
  248. {ColorMode::kLight,
  249. ColorProvider::ContentLayerType::kIconColorPositive,
  250. SkColorSetRGB(0x1E, 0x8E, 0x3E)},
  251. {ColorMode::kLight,
  252. ColorProvider::ContentLayerType::kIconColorProminent,
  253. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  254. {ColorMode::kLight,
  255. ColorProvider::ContentLayerType::kIconColorSecondaryBackground,
  256. SkColorSetRGB(0x3C, 0x40, 0x43)},
  257. {ColorMode::kLight, ColorProvider::ContentLayerType::kButtonLabelColor,
  258. SkColorSetRGB(0x20, 0x21, 0x24)},
  259. {ColorMode::kLight,
  260. ColorProvider::ContentLayerType::kInvertedButtonLabelColor,
  261. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  262. {ColorMode::kLight,
  263. ColorProvider::ContentLayerType::kButtonLabelColorPrimary,
  264. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  265. {ColorMode::kLight,
  266. ColorProvider::ContentLayerType::kButtonLabelColorBlue,
  267. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  268. {ColorMode::kLight, ColorProvider::ContentLayerType::kButtonIconColor,
  269. SkColorSetRGB(0x20, 0x21, 0x24)},
  270. {ColorMode::kLight,
  271. ColorProvider::ContentLayerType::kButtonIconColorPrimary,
  272. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  273. {ColorMode::kLight,
  274. ColorProvider::ContentLayerType::kAppStateIndicatorColor,
  275. SkColorSetRGB(0x20, 0x21, 0x24)},
  276. {ColorMode::kLight,
  277. ColorProvider::ContentLayerType::kAppStateIndicatorColorInactive,
  278. SkColorSetARGB(0x60, 0x20, 0x21, 0x24)},
  279. {ColorMode::kLight, ColorProvider::ContentLayerType::kShelfHandleColor,
  280. SkColorSetARGB(0x24, 0x0, 0x0, 0x0)},
  281. {ColorMode::kLight,
  282. ColorProvider::ContentLayerType::kSliderColorActive,
  283. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  284. {ColorMode::kLight,
  285. ColorProvider::ContentLayerType::kSliderColorInactive,
  286. SkColorSetRGB(0x5F, 0x63, 0x68)},
  287. {ColorMode::kLight, ColorProvider::ContentLayerType::kRadioColorActive,
  288. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  289. {ColorMode::kLight,
  290. ColorProvider::ContentLayerType::kRadioColorInactive,
  291. SkColorSetRGB(0x5F, 0x63, 0x68)},
  292. {ColorMode::kLight,
  293. ColorProvider::ContentLayerType::kSwitchKnobColorActive,
  294. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  295. {ColorMode::kLight,
  296. ColorProvider::ContentLayerType::kSwitchKnobColorInactive,
  297. SkColorSetRGB(0xFF, 0xFF, 0xFF)},
  298. {ColorMode::kLight,
  299. ColorProvider::ContentLayerType::kSwitchTrackColorActive,
  300. SkColorSetARGB(0x4C, 0x1A, 0x73, 0xE8)},
  301. {ColorMode::kLight,
  302. ColorProvider::ContentLayerType::kSwitchTrackColorInactive,
  303. SkColorSetARGB(0x4C, 0x5F, 0x63, 0x68)},
  304. {ColorMode::kLight, ColorProvider::ContentLayerType::kCurrentDeskColor,
  305. SkColorSetRGB(0x0, 0x0, 0x0)},
  306. {ColorMode::kLight,
  307. ColorProvider::ContentLayerType::kBatteryBadgeColor,
  308. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  309. {ColorMode::kLight,
  310. ColorProvider::ContentLayerType::kSwitchAccessInnerStrokeColor,
  311. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  312. {ColorMode::kLight,
  313. ColorProvider::ContentLayerType::kSwitchAccessOuterStrokeColor,
  314. SkColorSetRGB(0x17, 0x4E, 0xA6)},
  315. {ColorMode::kLight,
  316. ColorProvider::ContentLayerType::kProgressBarColorForeground,
  317. SkColorSetRGB(0x1A, 0x73, 0xE8)},
  318. {ColorMode::kLight,
  319. ColorProvider::ContentLayerType::kProgressBarColorBackground,
  320. SkColorSetARGB(0x4C, 0x1A, 0x73, 0xE8)},
  321. {ColorMode::kLight,
  322. ColorProvider::ContentLayerType::kHighlightColorHover,
  323. SkColorSetARGB(0x14, 0x0, 0x0, 0x0)},
  324. {ColorMode::kLight,
  325. ColorProvider::ContentLayerType::kBatterySystemInfoBackgroundColor,
  326. SkColorSetRGB(0x1E, 0x8E, 0x3E)},
  327. {ColorMode::kLight,
  328. ColorProvider::ContentLayerType::kBatterySystemInfoIconColor,
  329. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  330. {ColorMode::kLight,
  331. ColorProvider::ContentLayerType::kCaptureRegionColor,
  332. SkColorSetARGB(0x4C, 0x1A, 0x73, 0xE8)},
  333. // Dark colors
  334. {ColorMode::kDark, ColorProvider::ContentLayerType::kScrollBarColor,
  335. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  336. {ColorMode::kDark, ColorProvider::ContentLayerType::kSeparatorColor,
  337. SkColorSetARGB(0x24, 0xFF, 0xFF, 0xFF)},
  338. {ColorMode::kDark, ColorProvider::ContentLayerType::kTextColorPrimary,
  339. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  340. {ColorMode::kDark,
  341. ColorProvider::ContentLayerType::kInvertedTextColorPrimary,
  342. SkColorSetRGB(0x20, 0x21, 0x24)},
  343. {ColorMode::kDark,
  344. ColorProvider::ContentLayerType::kTextColorSecondary,
  345. SkColorSetRGB(0xBD, 0xC1, 0xC6)},
  346. {ColorMode::kDark, ColorProvider::ContentLayerType::kTextColorAlert,
  347. SkColorSetRGB(0xF2, 0x8B, 0x82)},
  348. {ColorMode::kDark, ColorProvider::ContentLayerType::kTextColorWarning,
  349. SkColorSetRGB(0xFD, 0xD6, 0x63)},
  350. {ColorMode::kDark, ColorProvider::ContentLayerType::kTextColorPositive,
  351. SkColorSetRGB(0x81, 0xC9, 0x95)},
  352. {ColorMode::kDark, ColorProvider::ContentLayerType::kTextColorURL,
  353. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  354. {ColorMode::kDark, ColorProvider::ContentLayerType::kIconColorPrimary,
  355. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  356. {ColorMode::kDark,
  357. ColorProvider::ContentLayerType::kIconColorSecondary,
  358. SkColorSetRGB(0x9A, 0xA0, 0xA6)},
  359. {ColorMode::kDark, ColorProvider::ContentLayerType::kIconColorAlert,
  360. SkColorSetRGB(0xF2, 0x8B, 0x82)},
  361. {ColorMode::kDark, ColorProvider::ContentLayerType::kIconColorWarning,
  362. SkColorSetRGB(0xFD, 0xD6, 0x63)},
  363. {ColorMode::kDark, ColorProvider::ContentLayerType::kIconColorPositive,
  364. SkColorSetRGB(0x81, 0xC9, 0x95)},
  365. {ColorMode::kDark,
  366. ColorProvider::ContentLayerType::kIconColorProminent,
  367. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  368. {ColorMode::kDark,
  369. ColorProvider::ContentLayerType::kIconColorSecondaryBackground,
  370. SkColorSetRGB(0xF1, 0xF3, 0xF4)},
  371. {ColorMode::kDark, ColorProvider::ContentLayerType::kButtonLabelColor,
  372. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  373. {ColorMode::kDark,
  374. ColorProvider::ContentLayerType::kInvertedButtonLabelColor,
  375. SkColorSetRGB(0x20, 0x21, 0x24)},
  376. {ColorMode::kDark,
  377. ColorProvider::ContentLayerType::kButtonLabelColorPrimary,
  378. SkColorSetRGB(0x20, 0x21, 0x24)},
  379. {ColorMode::kDark,
  380. ColorProvider::ContentLayerType::kButtonLabelColorBlue,
  381. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  382. {ColorMode::kDark, ColorProvider::ContentLayerType::kButtonIconColor,
  383. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  384. {ColorMode::kDark,
  385. ColorProvider::ContentLayerType::kButtonIconColorPrimary,
  386. SkColorSetRGB(0x20, 0x21, 0x24)},
  387. {ColorMode::kDark,
  388. ColorProvider::ContentLayerType::kAppStateIndicatorColor,
  389. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  390. {ColorMode::kDark,
  391. ColorProvider::ContentLayerType::kAppStateIndicatorColorInactive,
  392. SkColorSetARGB(0x60, 0xE8, 0xEA, 0xED)},
  393. {ColorMode::kDark, ColorProvider::ContentLayerType::kShelfHandleColor,
  394. SkColorSetARGB(0x24, 0xFF, 0xFF, 0xFF)},
  395. {ColorMode::kDark, ColorProvider::ContentLayerType::kSliderColorActive,
  396. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  397. {ColorMode::kDark,
  398. ColorProvider::ContentLayerType::kSliderColorInactive,
  399. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  400. {ColorMode::kDark, ColorProvider::ContentLayerType::kRadioColorActive,
  401. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  402. {ColorMode::kDark,
  403. ColorProvider::ContentLayerType::kRadioColorInactive,
  404. SkColorSetRGB(0xE8, 0xEA, 0xED)},
  405. {ColorMode::kDark,
  406. ColorProvider::ContentLayerType::kSwitchKnobColorActive,
  407. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  408. {ColorMode::kDark,
  409. ColorProvider::ContentLayerType::kSwitchKnobColorInactive,
  410. SkColorSetRGB(0xBD, 0xC1, 0xC6)},
  411. {ColorMode::kDark,
  412. ColorProvider::ContentLayerType::kSwitchTrackColorActive,
  413. SkColorSetARGB(0x4C, 0x8A, 0xB4, 0xF8)},
  414. {ColorMode::kDark,
  415. ColorProvider::ContentLayerType::kSwitchTrackColorInactive,
  416. SkColorSetARGB(0x4C, 0xE8, 0xEA, 0xED)},
  417. {ColorMode::kDark, ColorProvider::ContentLayerType::kCurrentDeskColor,
  418. SkColorSetRGB(0xFF, 0xFF, 0xFF)},
  419. {ColorMode::kDark, ColorProvider::ContentLayerType::kBatteryBadgeColor,
  420. SkColorSetRGB(0x20, 0x21, 0x24)},
  421. {ColorMode::kDark,
  422. ColorProvider::ContentLayerType::kSwitchAccessInnerStrokeColor,
  423. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  424. {ColorMode::kDark,
  425. ColorProvider::ContentLayerType::kSwitchAccessOuterStrokeColor,
  426. SkColorSetRGB(0x17, 0x4E, 0xA6)},
  427. {ColorMode::kDark,
  428. ColorProvider::ContentLayerType::kProgressBarColorForeground,
  429. SkColorSetRGB(0x8A, 0xB4, 0xF8)},
  430. {ColorMode::kDark,
  431. ColorProvider::ContentLayerType::kProgressBarColorBackground,
  432. SkColorSetARGB(0x4C, 0x8A, 0xB4, 0xF8)},
  433. {ColorMode::kDark,
  434. ColorProvider::ContentLayerType::kHighlightColorHover,
  435. SkColorSetARGB(0xD, 0xFF, 0xFF, 0xFF)},
  436. {ColorMode::kDark,
  437. ColorProvider::ContentLayerType::kBatterySystemInfoBackgroundColor,
  438. SkColorSetRGB(0x81, 0xC9, 0x95)},
  439. {ColorMode::kDark,
  440. ColorProvider::ContentLayerType::kBatterySystemInfoIconColor,
  441. SkColorSetRGB(0x20, 0x21, 0x24)},
  442. {ColorMode::kDark,
  443. ColorProvider::ContentLayerType::kCaptureRegionColor,
  444. SkColorSetARGB(0x4C, 0x8A, 0xB4, 0xF8)}}));
  445. } // namespace
  446. } // namespace ash