Index: third_party/WebKit/Source/core/style/ComputedStyle.h |
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.h b/third_party/WebKit/Source/core/style/ComputedStyle.h |
index 77a3e506ed808ccb2e383dff2070fb6667c8ba65..514b11022ab1bff79bdc62201514811cae1c485a 100644 |
--- a/third_party/WebKit/Source/core/style/ComputedStyle.h |
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.h |
@@ -1942,9 +1942,10 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
} |
// -webkit-text-emphasis-color (aka -epub-text-emphasis-color) |
- void SetTextEmphasisColor(const StyleColor& c) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, TextEmphasisColor, |
- SetTextEmphasisColor, c); |
+ void SetTextEmphasisColor(const StyleColor& color) { |
+ SET_VAR(rare_inherited_data_, text_emphasis_color_, color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, text_emphasis_color_is_current_color_, |
+ color.IsCurrentColor()); |
} |
// -webkit-text-emphasis-position |
@@ -1996,9 +1997,10 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
} |
// -webkit-text-fill-color |
- void SetTextFillColor(const StyleColor& c) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, TextFillColor, SetTextFillColor, |
- c); |
+ void SetTextFillColor(const StyleColor& color) { |
+ SET_VAR(rare_inherited_data_, text_fill_color_, color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, text_fill_color_is_current_color_, |
+ color.IsCurrentColor()); |
} |
// -webkit-text-security |
@@ -2011,9 +2013,10 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
} |
// -webkit-text-stroke-color |
- void SetTextStrokeColor(const StyleColor& c) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, TextStrokeColor, |
- SetTextStrokeColor, c); |
+ void SetTextStrokeColor(const StyleColor& color) { |
+ SET_VAR(rare_inherited_data_, text_stroke_color_, color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, text_stroke_color_is_current_color_, |
+ color.IsCurrentColor()); |
} |
// -webkit-text-stroke-width |
@@ -2053,8 +2056,11 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
} |
// caret-color |
- void SetCaretColor(const StyleAutoColor& c) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, CaretColor, SetCaretColor, c); |
+ void SetCaretColor(const StyleAutoColor& color) { |
+ SET_VAR(rare_inherited_data_, caret_color_, color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, caret_color_is_current_color_, |
+ color.IsCurrentColor()); |
+ SET_VAR(rare_inherited_data_, caret_color_is_auto_, color.IsAutoColor()); |
} |
// Font properties. |
@@ -3548,21 +3554,34 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
void SetVisitedLinkTextDecorationColor(const StyleColor& v) { |
SET_VAR(rare_non_inherited_data_, visited_link_text_decoration_color_, v); |
} |
- void SetVisitedLinkTextEmphasisColor(const StyleColor& v) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, VisitedLinkTextEmphasisColor, |
- SetVisitedLinkTextEmphasisColor, v); |
- } |
- void SetVisitedLinkTextFillColor(const StyleColor& v) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, VisitedLinkTextFillColor, |
- SetVisitedLinkTextFillColor, v); |
- } |
- void SetVisitedLinkTextStrokeColor(const StyleColor& v) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, VisitedLinkTextStrokeColor, |
- SetVisitedLinkTextStrokeColor, v); |
- } |
- void SetVisitedLinkCaretColor(const StyleAutoColor& v) { |
- SET_VAR_WITH_SETTER(rare_inherited_data_, VisitedLinkCaretColor, |
- SetVisitedLinkCaretColor, v); |
+ void SetVisitedLinkTextEmphasisColor(const StyleColor& color) { |
+ SET_VAR(rare_inherited_data_, visited_link_text_emphasis_color_, |
+ color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, |
+ visited_link_text_emphasis_color_is_current_color_, |
+ color.IsCurrentColor()); |
+ } |
+ void SetVisitedLinkTextFillColor(const StyleColor& color) { |
+ SET_VAR(rare_inherited_data_, visited_link_text_fill_color_, |
+ color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, |
+ visited_link_text_fill_color_is_current_color_, |
+ color.IsCurrentColor()); |
+ } |
+ void SetVisitedLinkTextStrokeColor(const StyleColor& color) { |
+ SET_VAR(rare_inherited_data_, visited_link_text_stroke_color_, |
+ color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, |
+ visited_link_text_stroke_color_is_current_color_, |
+ color.IsCurrentColor()); |
+ } |
+ void SetVisitedLinkCaretColor(const StyleAutoColor& color) { |
+ SET_VAR(rare_inherited_data_, visited_link_caret_color_, |
+ color.Resolve(Color())); |
+ SET_VAR(rare_inherited_data_, visited_link_caret_color_is_current_color_, |
+ color.IsCurrentColor()); |
+ SET_VAR(rare_inherited_data_, visited_link_caret_color_is_auto_, |
+ color.IsAutoColor()); |
} |
static bool IsDisplayBlockContainer(EDisplay display) { |
@@ -3631,7 +3650,11 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
return background_data_->background_color_; |
} |
StyleAutoColor CaretColor() const { |
- return rare_inherited_data_->CaretColor(); |
+ if (rare_inherited_data_->caret_color_is_current_color_) |
+ return StyleAutoColor::CurrentColor(); |
+ if (rare_inherited_data_->caret_color_is_auto_) |
+ return StyleAutoColor::AutoColor(); |
+ return StyleAutoColor(rare_inherited_data_->caret_color_); |
} |
Color GetColor() const; |
StyleColor ColumnRuleColor() const { |
@@ -3641,16 +3664,26 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
return rare_non_inherited_data_->outline_.GetColor(); |
} |
StyleColor TextEmphasisColor() const { |
- return rare_inherited_data_->TextEmphasisColor(); |
+ return rare_inherited_data_->text_emphasis_color_is_current_color_ |
+ ? StyleColor::CurrentColor() |
+ : StyleColor(rare_inherited_data_->text_emphasis_color_); |
} |
StyleColor TextFillColor() const { |
- return rare_inherited_data_->TextFillColor(); |
+ return rare_inherited_data_->text_fill_color_is_current_color_ |
+ ? StyleColor::CurrentColor() |
+ : StyleColor(rare_inherited_data_->text_fill_color_); |
} |
StyleColor TextStrokeColor() const { |
- return rare_inherited_data_->TextStrokeColor(); |
+ return rare_inherited_data_->text_stroke_color_is_current_color_ |
+ ? StyleColor::CurrentColor() |
+ : StyleColor(rare_inherited_data_->text_stroke_color_); |
} |
StyleAutoColor VisitedLinkCaretColor() const { |
- return rare_inherited_data_->VisitedLinkCaretColor(); |
+ if (rare_inherited_data_->visited_link_caret_color_is_current_color_) |
+ return StyleAutoColor::CurrentColor(); |
+ if (rare_inherited_data_->visited_link_caret_color_is_auto_) |
+ return StyleAutoColor::AutoColor(); |
+ return StyleAutoColor(rare_inherited_data_->visited_link_caret_color_); |
} |
Color VisitedLinkColor() const; |
StyleColor VisitedLinkBackgroundColor() const { |
@@ -3682,13 +3715,24 @@ class CORE_EXPORT ComputedStyle : public ComputedStyleBase, |
return rare_non_inherited_data_->visited_link_text_decoration_color_; |
} |
StyleColor VisitedLinkTextEmphasisColor() const { |
- return rare_inherited_data_->VisitedLinkTextEmphasisColor(); |
+ return rare_inherited_data_ |
+ ->visited_link_text_emphasis_color_is_current_color_ |
+ ? StyleColor::CurrentColor() |
+ : StyleColor( |
+ rare_inherited_data_->visited_link_text_emphasis_color_); |
} |
StyleColor VisitedLinkTextFillColor() const { |
- return rare_inherited_data_->VisitedLinkTextFillColor(); |
+ return rare_inherited_data_->visited_link_text_fill_color_is_current_color_ |
+ ? StyleColor::CurrentColor() |
+ : StyleColor( |
+ rare_inherited_data_->visited_link_text_fill_color_); |
} |
StyleColor VisitedLinkTextStrokeColor() const { |
- return rare_inherited_data_->VisitedLinkTextStrokeColor(); |
+ return rare_inherited_data_ |
+ ->visited_link_text_stroke_color_is_current_color_ |
+ ? StyleColor::CurrentColor() |
+ : StyleColor( |
+ rare_inherited_data_->visited_link_text_stroke_color_); |
} |
StyleColor DecorationColorIncludingFallback(bool visited_link) const; |