diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-15 10:20:33 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-15 10:28:57 +0000 |
commit | d17ea114e5ef69ad5d5d7413280a13e6428098aa (patch) | |
tree | 2c01a75df69f30d27b1432467cfe7c1467a498da /chromium/third_party/blink/renderer/core/animation/color_property_functions.cc | |
parent | 8c5c43c7b138c9b4b0bf56d946e61d3bbc111bec (diff) | |
download | qtwebengine-chromium-d17ea114e5ef69ad5d5d7413280a13e6428098aa.tar.gz |
BASELINE: Update Chromium to 67.0.3396.47
Change-Id: Idcb1341782e417561a2473eeecc82642dafda5b7
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/animation/color_property_functions.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/animation/color_property_functions.cc | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/animation/color_property_functions.cc b/chromium/third_party/blink/renderer/core/animation/color_property_functions.cc new file mode 100644 index 00000000000..cc45e417d93 --- /dev/null +++ b/chromium/third_party/blink/renderer/core/animation/color_property_functions.cc @@ -0,0 +1,212 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "third_party/blink/renderer/core/animation/color_property_functions.h" + +#include "third_party/blink/renderer/core/style/computed_style.h" + +namespace blink { + +OptionalStyleColor ColorPropertyFunctions::GetInitialColor( + const CSSProperty& property) { + return GetUnvisitedColor(property, ComputedStyle::InitialStyle()); +} + +OptionalStyleColor ColorPropertyFunctions::GetUnvisitedColor( + const CSSProperty& property, + const ComputedStyle& style) { + switch (property.PropertyID()) { + case CSSPropertyBackgroundColor: + return style.BackgroundColor(); + case CSSPropertyBorderLeftColor: + return style.BorderLeftColor(); + case CSSPropertyBorderRightColor: + return style.BorderRightColor(); + case CSSPropertyBorderTopColor: + return style.BorderTopColor(); + case CSSPropertyBorderBottomColor: + return style.BorderBottomColor(); + case CSSPropertyCaretColor: + if (style.CaretColor().IsAutoColor()) + return nullptr; + return style.CaretColor().ToStyleColor(); + case CSSPropertyColor: + return style.GetColor(); + case CSSPropertyOutlineColor: + return style.OutlineColor(); + case CSSPropertyColumnRuleColor: + return style.ColumnRuleColor(); + case CSSPropertyWebkitTextEmphasisColor: + return style.TextEmphasisColor(); + case CSSPropertyWebkitTextFillColor: + return style.TextFillColor(); + case CSSPropertyWebkitTextStrokeColor: + return style.TextStrokeColor(); + case CSSPropertyFloodColor: + return style.FloodColor(); + case CSSPropertyLightingColor: + return style.LightingColor(); + case CSSPropertyStopColor: + return style.StopColor(); + case CSSPropertyWebkitTapHighlightColor: + return style.TapHighlightColor(); + case CSSPropertyTextDecorationColor: + return style.TextDecorationColor(); + default: + NOTREACHED(); + return nullptr; + } +} + +OptionalStyleColor ColorPropertyFunctions::GetVisitedColor( + const CSSProperty& property, + const ComputedStyle& style) { + switch (property.PropertyID()) { + case CSSPropertyBackgroundColor: + return style.VisitedLinkBackgroundColor(); + case CSSPropertyBorderLeftColor: + return style.VisitedLinkBorderLeftColor(); + case CSSPropertyBorderRightColor: + return style.VisitedLinkBorderRightColor(); + case CSSPropertyBorderTopColor: + return style.VisitedLinkBorderTopColor(); + case CSSPropertyBorderBottomColor: + return style.VisitedLinkBorderBottomColor(); + case CSSPropertyCaretColor: + // TODO(rego): "auto" value for caret-color should not interpolate + // (http://crbug.com/676295). + if (style.VisitedLinkCaretColor().IsAutoColor()) + return StyleColor::CurrentColor(); + return style.VisitedLinkCaretColor().ToStyleColor(); + case CSSPropertyColor: + return style.VisitedLinkColor(); + case CSSPropertyOutlineColor: + return style.VisitedLinkOutlineColor(); + case CSSPropertyColumnRuleColor: + return style.VisitedLinkColumnRuleColor(); + case CSSPropertyWebkitTextEmphasisColor: + return style.VisitedLinkTextEmphasisColor(); + case CSSPropertyWebkitTextFillColor: + return style.VisitedLinkTextFillColor(); + case CSSPropertyWebkitTextStrokeColor: + return style.VisitedLinkTextStrokeColor(); + case CSSPropertyFloodColor: + return style.FloodColor(); + case CSSPropertyLightingColor: + return style.LightingColor(); + case CSSPropertyStopColor: + return style.StopColor(); + case CSSPropertyWebkitTapHighlightColor: + return style.TapHighlightColor(); + case CSSPropertyTextDecorationColor: + return style.VisitedLinkTextDecorationColor(); + default: + NOTREACHED(); + return nullptr; + } +} + +void ColorPropertyFunctions::SetUnvisitedColor(const CSSProperty& property, + ComputedStyle& style, + const Color& color) { + switch (property.PropertyID()) { + case CSSPropertyBackgroundColor: + style.SetBackgroundColor(color); + return; + case CSSPropertyBorderBottomColor: + style.SetBorderBottomColor(color); + return; + case CSSPropertyBorderLeftColor: + style.SetBorderLeftColor(color); + return; + case CSSPropertyBorderRightColor: + style.SetBorderRightColor(color); + return; + case CSSPropertyBorderTopColor: + style.SetBorderTopColor(color); + return; + case CSSPropertyCaretColor: + return style.SetCaretColor(color); + case CSSPropertyColor: + style.SetColor(color); + return; + case CSSPropertyFloodColor: + style.SetFloodColor(color); + return; + case CSSPropertyLightingColor: + style.SetLightingColor(color); + return; + case CSSPropertyOutlineColor: + style.SetOutlineColor(color); + return; + case CSSPropertyStopColor: + style.SetStopColor(color); + return; + case CSSPropertyTextDecorationColor: + style.SetTextDecorationColor(color); + return; + case CSSPropertyColumnRuleColor: + style.SetColumnRuleColor(color); + return; + case CSSPropertyWebkitTextStrokeColor: + style.SetTextStrokeColor(color); + return; + default: + NOTREACHED(); + return; + } +} + +void ColorPropertyFunctions::SetVisitedColor(const CSSProperty& property, + ComputedStyle& style, + const Color& color) { + switch (property.PropertyID()) { + case CSSPropertyBackgroundColor: + style.SetVisitedLinkBackgroundColor(color); + return; + case CSSPropertyBorderBottomColor: + style.SetVisitedLinkBorderBottomColor(color); + return; + case CSSPropertyBorderLeftColor: + style.SetVisitedLinkBorderLeftColor(color); + return; + case CSSPropertyBorderRightColor: + style.SetVisitedLinkBorderRightColor(color); + return; + case CSSPropertyBorderTopColor: + style.SetVisitedLinkBorderTopColor(color); + return; + case CSSPropertyCaretColor: + return style.SetVisitedLinkCaretColor(color); + case CSSPropertyColor: + style.SetVisitedLinkColor(color); + return; + case CSSPropertyFloodColor: + style.SetFloodColor(color); + return; + case CSSPropertyLightingColor: + style.SetLightingColor(color); + return; + case CSSPropertyOutlineColor: + style.SetVisitedLinkOutlineColor(color); + return; + case CSSPropertyStopColor: + style.SetStopColor(color); + return; + case CSSPropertyTextDecorationColor: + style.SetVisitedLinkTextDecorationColor(color); + return; + case CSSPropertyColumnRuleColor: + style.SetVisitedLinkColumnRuleColor(color); + return; + case CSSPropertyWebkitTextStrokeColor: + style.SetVisitedLinkTextStrokeColor(color); + return; + default: + NOTREACHED(); + return; + } +} + +} // namespace blink |