summaryrefslogtreecommitdiffstats
path: root/layout/style/StyleAnimationValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/StyleAnimationValue.cpp')
-rw-r--r--layout/style/StyleAnimationValue.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/layout/style/StyleAnimationValue.cpp b/layout/style/StyleAnimationValue.cpp
index ca0b1133f..ff6783553 100644
--- a/layout/style/StyleAnimationValue.cpp
+++ b/layout/style/StyleAnimationValue.cpp
@@ -4468,8 +4468,12 @@ StyleAnimationValue::ExtractComputedValue(nsCSSPropertyID aProperty,
StyleDataAtOffset<nscolor>(styleStruct, ssOffset));
return true;
case eStyleAnimType_ComplexColor: {
- aComputedValue.SetComplexColorValue(
- StyleDataAtOffset<StyleComplexColor>(styleStruct, ssOffset));
+ auto& color = StyleDataAtOffset<StyleComplexColor>(styleStruct, ssOffset);
+ if (color.mIsAuto) {
+ aComputedValue.SetAutoValue();
+ } else {
+ aComputedValue.SetComplexColorValue(color);
+ }
return true;
}
case eStyleAnimType_PaintServer: {
@@ -4782,7 +4786,9 @@ StyleAnimationValue::SetCurrentColorValue()
void
StyleAnimationValue::SetComplexColorValue(const StyleComplexColor& aColor)
{
- if (aColor.IsCurrentColor()) {
+ if (aColor.mIsAuto) {
+ SetAutoValue();
+ } else if (aColor.IsCurrentColor()) {
SetCurrentColorValue();
} else if (aColor.IsNumericColor()) {
SetColorValue(aColor.mColor);