Commit 82bd3ae4 authored by Thomas Lukaszewicz's avatar Thomas Lukaszewicz Committed by Commit Bot

Added access operator to color mixers. Fixed build bug.

Added the access operator to the color mixer class, updated existing
code and tests. Changed AddMixer() to return a mixer by reference.

Bug: 1887666
Change-Id: Ic62f9399f377a9ecb98eb49e2a5ae42a7785a490
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1912659
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714597}
parent b20f54fa
......@@ -1035,7 +1035,7 @@ void BrowserThemePack::AddCustomThemeColorMixers(
}
if (theme_colors.empty())
return;
provider->AddMixer()->AddSet({kColorSetCustomTheme, std::move(theme_colors)});
provider->AddMixer().AddSet({kColorSetCustomTheme, std::move(theme_colors)});
}
// private:
......
......@@ -741,10 +741,10 @@ TEST_F(BrowserThemePackTest, TestCreateColorMixersOmniboxNoValues) {
// Tests to make sure that existing colors within the color provider are not
// overwritten or lost in the absence of any user provided theme values.
ui::ColorProvider provider;
provider.AddMixer()->AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
provider.AddMixer().AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
theme_pack().AddCustomThemeColorMixers(&provider);
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorToolbar));
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorOmniboxText));
......@@ -755,10 +755,10 @@ TEST_F(BrowserThemePackTest, TestCreateColorMixersOmniboxPartialValues) {
// Tests to make sure that only provided theme values are replicated into the
// color provider.
ui::ColorProvider provider;
provider.AddMixer()->AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
provider.AddMixer().AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
std::string color_json = R"({ "toolbar": [0, 20, 40],
"omnibox_text": [60, 80, 100] })";
LoadColorJSON(color_json);
......@@ -772,10 +772,10 @@ TEST_F(BrowserThemePackTest, TestCreateColorMixersOmniboxAllValues) {
// Tests to make sure that all available colors are properly loaded into the
// color provider.
ui::ColorProvider provider;
provider.AddMixer()->AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
provider.AddMixer().AddSet({ui::kColorSetTest0,
{{kColorToolbar, SK_ColorRED},
{kColorOmniboxText, SK_ColorGREEN},
{kColorOmniboxBackground, SK_ColorBLUE}}});
std::string color_json = R"({ "toolbar": [0, 20, 40],
"omnibox_text": [60, 80, 100],
"omnibox_background": [120, 140, 160] })";
......
......@@ -13,55 +13,47 @@
#include "ui/gfx/color_utils.h"
void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::ColorMixer* mixer = provider->AddMixer();
ui::ColorMixer& mixer = provider->AddMixer();
const float minimum_contrast =
high_contrast ? 6.0f : color_utils::kMinimumReadableContrastRatio;
// Omnibox background colors.
mixer->AddRecipe(kColorOmniboxBackground)
.AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(), ui::FromInputColor(kColorToolbar)));
mixer->AddRecipe(kColorOmniboxBackgroundHovered)
.AddTransform(ui::BlendTowardMaxContrast(
ui::FromResultColor(kColorOmniboxBackground), 0x0A));
mixer[kColorOmniboxBackground].AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(), ui::FromInputColor(kColorToolbar)));
mixer[kColorOmniboxBackgroundHovered].AddTransform(ui::BlendTowardMaxContrast(
ui::FromResultColor(kColorOmniboxBackground), 0x0A));
// Omnibox text colors.
mixer->AddRecipe(kColorOmniboxText)
.AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(),
ui::FromResultColor(kColorOmniboxBackground)));
mixer[kColorOmniboxText].AddTransform(ui::GetResultingPaintColor(
ui::FromTransformInput(), ui::FromResultColor(kColorOmniboxBackground)));
{
auto& selected_text =
mixer->AddRecipe(kColorOmniboxResultsTextSelected)
.AddTransform(ui::FromResultColor(kColorOmniboxText));
auto& selected_text = mixer[kColorOmniboxResultsTextSelected].AddTransform(
ui::FromResultColor(kColorOmniboxText));
if (high_contrast)
selected_text.AddTransform(ui::ContrastInvert(ui::FromTransformInput()));
}
mixer->AddRecipe(kColorOmniboxSelectedKeyword)
.AddTransform(ui::SelectBasedOnDarkInput(
ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromResultColor(kColorOmniboxResultsUrl)));
mixer[kColorOmniboxSelectedKeyword].AddTransform(
ui::SelectBasedOnDarkInput(ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromResultColor(kColorOmniboxResultsUrl)));
// Bubble outline colors.
mixer->AddRecipe(kColorOmniboxBubbleOutline)
.AddTransform(ui::SelectBasedOnDarkInput(
ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromColor(SkColorSetA(gfx::kGoogleGrey900, 0x24))));
mixer->AddRecipe(kColorOmniboxBubbleOutlineExperimentalKeywordMode)
.AddTransform(ui::FromResultColor(kColorOmniboxSelectedKeyword));
mixer[kColorOmniboxBubbleOutline].AddTransform(ui::SelectBasedOnDarkInput(
ui::FromResultColor(kColorOmniboxBackground),
ui::FromColor(gfx::kGoogleGrey100),
ui::FromColor(SkColorSetA(gfx::kGoogleGrey900, 0x24))));
mixer[kColorOmniboxBubbleOutlineExperimentalKeywordMode].AddTransform(
ui::FromResultColor(kColorOmniboxSelectedKeyword));
// Results background colors.
mixer->AddRecipe(kColorOmniboxResultsBackground)
.AddTransform(
ui::GetColorWithMaxContrast(ui::FromResultColor(kColorOmniboxText)));
mixer->AddRecipe(kColorOmniboxResultsBackgroundHovered)
.AddTransform(ui::BlendTowardMaxContrast(
mixer[kColorOmniboxResultsBackground].AddTransform(
ui::GetColorWithMaxContrast(ui::FromResultColor(kColorOmniboxText)));
mixer[kColorOmniboxResultsBackgroundHovered].AddTransform(
ui::BlendTowardMaxContrast(
ui::FromResultColor(kColorOmniboxResultsBackground),
gfx::kGoogleGreyAlpha200));
mixer->AddRecipe(kColorOmniboxResultsBackgroundSelected)
.AddTransform(ui::BlendTowardMaxContrast(
mixer[kColorOmniboxResultsBackgroundSelected].AddTransform(
ui::BlendTowardMaxContrast(
ui::GetColorWithMaxContrast(
ui::FromResultColor(kColorOmniboxResultsTextSelected)),
gfx::kGoogleGreyAlpha300));
......@@ -74,12 +66,11 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::DeriveDefaultIconColor(ui::FromResultColor(text_id)),
ui::FromResultColor(background_id), base::nullopt, minimum_contrast);
};
mixer->AddRecipe(kColorOmniboxResultsIcon)
.AddTransform(
results_icon(kColorOmniboxText, kColorOmniboxResultsBackground));
mixer->AddRecipe(kColorOmniboxResultsIconSelected)
.AddTransform(results_icon(kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
mixer[kColorOmniboxResultsIcon].AddTransform(
results_icon(kColorOmniboxText, kColorOmniboxResultsBackground));
mixer[kColorOmniboxResultsIconSelected].AddTransform(
results_icon(kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
}
// Dimmed text colors.
......@@ -95,16 +86,14 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
base::nullopt, minimum_contrast),
minimum_contrast);
};
mixer->AddRecipe(kColorOmniboxResultsTextDimmed)
.AddTransform(blend_with_clamped_contrast(
kColorOmniboxText, kColorOmniboxResultsBackgroundHovered));
mixer->AddRecipe(kColorOmniboxResultsTextDimmedSelected)
.AddTransform(blend_with_clamped_contrast(
kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
mixer->AddRecipe(kColorOmniboxTextDimmed)
.AddTransform(blend_with_clamped_contrast(
kColorOmniboxText, kColorOmniboxBackgroundHovered));
mixer[kColorOmniboxResultsTextDimmed].AddTransform(
blend_with_clamped_contrast(kColorOmniboxText,
kColorOmniboxResultsBackgroundHovered));
mixer[kColorOmniboxResultsTextDimmedSelected].AddTransform(
blend_with_clamped_contrast(kColorOmniboxResultsTextSelected,
kColorOmniboxResultsBackgroundSelected));
mixer[kColorOmniboxTextDimmed].AddTransform(blend_with_clamped_contrast(
kColorOmniboxText, kColorOmniboxBackgroundHovered));
}
// Results URL colors.
......@@ -117,10 +106,10 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::FromColor(gfx::kGoogleBlue900)),
minimum_contrast);
};
mixer->AddRecipe(kColorOmniboxResultsUrl)
.AddTransform(url_color(kColorOmniboxResultsBackgroundHovered));
mixer->AddRecipe(kColorOmniboxResultsUrlSelected)
.AddTransform(url_color(kColorOmniboxResultsBackgroundSelected));
mixer[kColorOmniboxResultsUrl].AddTransform(
url_color(kColorOmniboxResultsBackgroundHovered));
mixer[kColorOmniboxResultsUrlSelected].AddTransform(
url_color(kColorOmniboxResultsBackgroundSelected));
}
// Security chip colors.
......@@ -136,12 +125,11 @@ void AddOmniboxColorMixer(ui::ColorProvider* provider, bool high_contrast) {
ui::FromResultColor(kColorOmniboxBackgroundHovered),
base::nullopt, minimum_contrast));
};
mixer->AddRecipe(kColorOmniboxSecurityChipDangerous)
.AddTransform(security_chip_color(ui::FromColor(gfx::kGoogleRed600)));
mixer->AddRecipe(kColorOmniboxSecurityChipSecure)
.AddTransform(security_chip_color(ui::DeriveDefaultIconColor(
ui::FromResultColor(kColorOmniboxText))));
mixer[kColorOmniboxSecurityChipDangerous].AddTransform(
security_chip_color(ui::FromColor(gfx::kGoogleRed600)));
mixer[kColorOmniboxSecurityChipSecure].AddTransform(security_chip_color(
ui::DeriveDefaultIconColor(ui::FromResultColor(kColorOmniboxText))));
}
mixer->AddRecipe(kColorOmniboxSecurityChipDefault)
.AddTransform(ui::FromResultColor(kColorOmniboxSecurityChipSecure));
mixer[kColorOmniboxSecurityChipDefault].AddTransform(
ui::FromResultColor(kColorOmniboxSecurityChipSecure));
}
......@@ -4,8 +4,6 @@
#include "ui/color/color_mixer.h"
#include "base/containers/adapters.h"
#include "base/stl_util.h"
#include "ui/color/color_recipe.h"
#include "ui/gfx/color_palette.h"
......@@ -20,17 +18,16 @@ ColorMixer& ColorMixer::operator=(ColorMixer&&) noexcept = default;
ColorMixer::~ColorMixer() = default;
ColorRecipe& ColorMixer::operator[](ColorId id) {
DCHECK_COLOR_ID_VALID(id);
return recipes_[id];
}
void ColorMixer::AddSet(ColorSet&& set) {
DCHECK(FindSetWithId(set.id) == sets_.cend());
sets_.push_front(std::move(set));
}
ColorRecipe& ColorMixer::AddRecipe(ColorId id) {
DCHECK_COLOR_ID_VALID(id);
DCHECK(!base::Contains(recipes_, id));
return recipes_[id];
}
SkColor ColorMixer::GetInputColor(ColorId id) const {
DCHECK_COLOR_ID_VALID(id);
for (const auto& set : sets_) {
......
......@@ -39,16 +39,14 @@ class COMPONENT_EXPORT(COLOR) ColorMixer {
ColorMixer& operator=(ColorMixer&&) noexcept;
~ColorMixer();
// Adds a recipe for |id| if it does not exist.
ColorRecipe& operator[](ColorId id);
// Adds |set| to |sets_|. |set| must not have the same ID as any previously
// added sets, though it may contain colors with the same IDs as colors in
// those sets; in such cases, the last-added set takes priority.
void AddSet(ColorSet&& set);
// Adds a recipe for |id|, which must not already have an existing recipe.
// Returns a non-const ref to allow chaining calls to
// ColorRecipe::AddTransform().
ColorRecipe& AddRecipe(ColorId id);
// Returns the input color for |id|. First searches all |sets_| in reverse
// order; if not found, asks the previous mixer for the result color. If
// there is no previous mixer, returns gfx::kPlaceholderColor.
......
......@@ -27,10 +27,10 @@ TEST(ColorMixerTest, AddSet) {
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
}
// Tests that the recipe returned by AddRecipe() is respected by the mixer.
TEST(ColorMixerTest, AddRecipe) {
// Tests that the recipe returned by operator[] is respected by the mixer.
TEST(ColorMixerTest, AccessOperator) {
ColorMixer mixer;
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(SK_ColorGREEN));
mixer[kColorTest0].AddTransform(FromColor(SK_ColorGREEN));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
}
......@@ -86,8 +86,8 @@ TEST(ColorMixerTest, GetInputColorPreviousMixer) {
TEST(ColorMixerTest, GetInputColorIgnoresRecipe) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
mixer[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
EXPECT_EQ(SK_ColorGREEN, mixer.GetInputColor(kColorTest0));
}
......@@ -97,8 +97,8 @@ TEST(ColorMixerTest, GetInputColorIgnoresRecipe) {
TEST(ColorMixerTest, GetInputColorRespectsRecipePreviousMixer) {
ColorMixer mixer0;
mixer0.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer0.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
mixer0[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
ColorMixer mixer1(&mixer0);
mixer1.AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
EXPECT_EQ(color_utils::GetColorWithMaxContrast(SK_ColorGREEN),
......@@ -169,8 +169,8 @@ TEST(ColorMixerTest, GetOriginalColorFromSetPreviousMixer) {
TEST(ColorMixerTest, GetOriginalColorFromSetIgnoresRecipe) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
mixer[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
EXPECT_EQ(SK_ColorGREEN,
mixer.GetOriginalColorFromSet(kColorTest0, kColorSetTest0));
}
......@@ -181,8 +181,8 @@ TEST(ColorMixerTest, GetOriginalColorFromSetIgnoresRecipe) {
TEST(ColorMixerTest, GetOriginalColorFromSetIgnoresRecipePreviousMixer) {
ColorMixer mixer0;
mixer0.AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
mixer0.AddRecipe(kColorTest0)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
mixer0[kColorTest0].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
ColorMixer mixer1(&mixer0);
mixer1.AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
EXPECT_EQ(SK_ColorGREEN,
......@@ -207,9 +207,9 @@ TEST(ColorMixerTest, GetResultColorNoRecipe) {
// initial value for its requested color.
TEST(ColorMixerTest, GetResultColorNoSet) {
ColorMixer mixer;
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(SK_ColorGREEN));
mixer.AddRecipe(kColorTest1)
.AddTransform(GetColorWithMaxContrast(FromTransformInput()));
mixer[kColorTest0].AddTransform(FromColor(SK_ColorGREEN));
mixer[kColorTest1].AddTransform(
GetColorWithMaxContrast(FromTransformInput()));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
EXPECT_NE(gfx::kPlaceholderColor, mixer.GetResultColor(kColorTest1));
}
......@@ -220,8 +220,8 @@ TEST(ColorMixerTest, GetResultColorIgnoresSet) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0,
{{kColorTest0, SK_ColorWHITE}, {kColorTest1, SK_ColorBLACK}}});
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(SK_ColorGREEN));
mixer.AddRecipe(kColorTest1).AddTransform(FromColor(SK_ColorGREEN));
mixer[kColorTest0].AddTransform(FromColor(SK_ColorGREEN));
mixer[kColorTest1].AddTransform(FromColor(SK_ColorGREEN));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest0));
EXPECT_EQ(SK_ColorGREEN, mixer.GetResultColor(kColorTest1));
}
......@@ -231,14 +231,12 @@ TEST(ColorMixerTest, GetResultColorIgnoresSet) {
TEST(ColorMixerTest, GetResultColorChained) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0, {{kColorTest1, SK_ColorWHITE}}});
mixer.AddRecipe(kColorTest0).AddTransform(FromColor(gfx::kGoogleBlue050));
mixer.AddRecipe(kColorTest1)
.AddTransform(BlendTowardMaxContrast(
GetColorWithMaxContrast(FromTransformInput()), 0x29));
mixer.AddRecipe(kColorTest2)
.AddTransform(BlendForMinContrast(FromColor(gfx::kGoogleBlue500),
FromResultColor(kColorTest1),
FromResultColor(kColorTest0)));
mixer[kColorTest0].AddTransform(FromColor(gfx::kGoogleBlue050));
mixer[kColorTest1].AddTransform(BlendTowardMaxContrast(
GetColorWithMaxContrast(FromTransformInput()), 0x29));
mixer[kColorTest2].AddTransform(BlendForMinContrast(
FromColor(gfx::kGoogleBlue500), FromResultColor(kColorTest1),
FromResultColor(kColorTest0)));
EXPECT_EQ(SkColorSetRGB(0x89, 0xB3, 0xF8), mixer.GetResultColor(kColorTest2));
}
......
......@@ -11,7 +11,7 @@
namespace ui {
ColorMixer* ColorProvider::AddMixer() {
ColorMixer& ColorProvider::AddMixer() {
// Adding a mixer could change any of the result colors.
cache_.clear();
......@@ -20,7 +20,7 @@ ColorMixer* ColorProvider::AddMixer() {
// mixer for its result, and trust mixers to query each other back up the
// chain as needed.
mixers_.emplace_front(mixers_.empty() ? nullptr : &mixers_.front());
return &mixers_.front();
return mixers_.front();
}
SkColor ColorProvider::GetColor(ColorId id, ColorVariant variant) const {
......
......@@ -30,9 +30,9 @@ class COMPONENT_EXPORT(COLOR) ColorProvider {
ColorProvider& operator=(const ColorProvider&) = delete;
~ColorProvider();
// Adds a mixer to the end of the current color pipeline. Returns a pointer
// Adds a mixer to the end of the current color pipeline. Returns a reference
// to the added mixer so callers can subsequently add sets and/or recipes.
ColorMixer* AddMixer();
ColorMixer& AddMixer();
// Returns the result color for |id| by applying the effects of each mixer in
// order. Returns gfx::kPlaceholderColor if no mixer knows how to construct
......
......@@ -11,14 +11,6 @@
namespace ui {
namespace {
// Tests that AddMixer() returns non-null pointers, implying addition was
// successful. (Other tests below will verify the mixers have an effect.)
TEST(ColorProviderTest, AddMixer) {
ColorProvider provider;
EXPECT_NE(nullptr, provider.AddMixer());
EXPECT_NE(nullptr, provider.AddMixer());
}
// Tests that when there are no mixers, GetColor() returns a placeholder value.
TEST(ColorProviderTest, GetColorNoMixers) {
EXPECT_EQ(gfx::kPlaceholderColor, ColorProvider().GetColor(kColorTest0));
......@@ -28,7 +20,7 @@ TEST(ColorProviderTest, GetColorNoMixers) {
// possible.
TEST(ColorProviderTest, SingleMixer) {
ColorProvider provider;
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
EXPECT_EQ(gfx::kPlaceholderColor, provider.GetColor(kColorTest1));
}
......@@ -37,8 +29,8 @@ TEST(ColorProviderTest, SingleMixer) {
// use of both.
TEST(ColorProviderTest, NonOverlappingMixers) {
ColorProvider provider;
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer()->AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer().AddSet({kColorSetTest1, {{kColorTest1, SK_ColorRED}}});
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest1));
}
......@@ -47,8 +39,8 @@ TEST(ColorProviderTest, NonOverlappingMixers) {
// added takes priority.
TEST(ColorProviderTest, OverlappingMixers) {
ColorProvider provider;
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest0));
}
......@@ -56,10 +48,10 @@ TEST(ColorProviderTest, OverlappingMixers) {
// This attempts to verify that nothing is badly wrong with color caching.
TEST(ColorProviderTest, Caching) {
ColorProvider provider;
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorGREEN}}});
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0));
provider.AddMixer()->AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
provider.AddMixer().AddSet({kColorSetTest0, {{kColorTest0, SK_ColorRED}}});
EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest0));
}
......
......@@ -156,7 +156,7 @@ TEST(ColorTransformTest, FromResultColor) {
ColorMixer mixer;
mixer.AddSet({kColorSetTest0,
{{kColorTest0, SK_ColorGREEN}, {kColorTest1, kTest1Color}}});
mixer.AddRecipe(kColorTest0).AddTransform(FromInputColor(kColorTest1));
mixer[kColorTest0].AddTransform(FromInputColor(kColorTest1));
const auto verify_color = [&](SkColor input) {
EXPECT_EQ(kTest1Color, transform.Run(input, mixer));
};
......
......@@ -21,7 +21,7 @@ void AddMixerForNativeColors(ui::ColorProvider* provider) {
// reverse-engineering current Windows behavior. Or maybe the union of all
// these.
#define MAP(chrome, native) {chrome, color_utils::GetSysSkColor(native)}
provider->AddMixer()->AddSet(
provider->AddMixer().AddSet(
{kColorSetNative,
{
MAP(kColorNative3dDkShadow, COLOR_3DDKSHADOW),
......
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