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 90342759e0e5d6ae4ceaf73ec095d9f5234f190e..fd70aed9f706f10478dfdcb3056bcbc8fa6ea503 100644 |
--- a/third_party/WebKit/Source/core/style/ComputedStyle.h |
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.h |
@@ -1855,9 +1855,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 |
@@ -1909,9 +1910,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 |
@@ -1924,9 +1926,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 |
@@ -1966,8 +1969,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. |
@@ -3392,21 +3398,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) { |
@@ -3466,7 +3485,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 { |
@@ -3476,16 +3499,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 { |
@@ -3517,13 +3550,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; |