Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Unified Diff: third_party/WebKit/Source/core/css/StyleColor.h

Issue 2520873002: [css-ui] Add support for caret-color property (Closed)
Patch Set: Fix tests that were listing all the CSS properties Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/StyleColor.h
diff --git a/third_party/WebKit/Source/core/css/StyleColor.h b/third_party/WebKit/Source/core/css/StyleColor.h
index c5925f2753d7050acf7f3f4c2319cc9cafb2dfa3..c1f0cbb16ae7e6b5f105ecbb5adab87fcc671c33 100644
--- a/third_party/WebKit/Source/core/css/StyleColor.h
+++ b/third_party/WebKit/Source/core/css/StyleColor.h
@@ -41,18 +41,21 @@ class StyleColor {
DISALLOW_NEW();
public:
- StyleColor() : m_currentColor(true) {}
- StyleColor(Color color) : m_color(color), m_currentColor(false) {}
+ StyleColor() : m_type(CurrentColor) {}
+ StyleColor(Color color) : m_color(color), m_type(SpecifiedColor) {}
static StyleColor currentColor() { return StyleColor(); }
+ static StyleColor autoColor() { return StyleColor(AutoColor); }
- bool isCurrentColor() const { return m_currentColor; }
+ bool isAutoColor() const { return m_type == AutoColor; }
+ bool isCurrentColor() const { return m_type == CurrentColor; }
Color getColor() const {
- ASSERT(!isCurrentColor());
+ DCHECK(!isAutoColor());
+ DCHECK(!isCurrentColor());
return m_color;
}
Color resolve(Color currentColor) const {
- return m_currentColor ? currentColor : m_color;
+ return m_type == SpecifiedColor ? m_color : currentColor;
}
static Color colorFromKeyword(CSSValueID);
@@ -60,13 +63,17 @@ class StyleColor {
static bool isSystemColor(CSSValueID);
private:
+ enum ColorType { AutoColor, CurrentColor, SpecifiedColor };
Timothy Loh 2016/11/22 02:17:35 I'd prefer if we didn't add Auto to StyleColor. Th
yosin_UTC9 2016/11/22 02:25:10 nit: Let's use |enum class|. |ColorType| is ambig
Manuel Rego 2016/11/22 09:36:01 I can create a different class, but I don't see ho
Manuel Rego 2016/11/22 09:36:01 Good suggestion, anyway as @timloh suggested I can
+ StyleColor(ColorType type) : m_type(type) {}
Color m_color;
- bool m_currentColor;
+ ColorType m_type;
};
inline bool operator==(const StyleColor& a, const StyleColor& b) {
if (a.isCurrentColor() || b.isCurrentColor())
return a.isCurrentColor() && b.isCurrentColor();
+ if (a.isAutoColor() || b.isAutoColor())
+ return a.isAutoColor() && b.isAutoColor();
return a.getColor() == b.getColor();
}

Powered by Google App Engine
This is Rietveld 408576698