From 251ddb70612479a8cfd0e9355df6d4ec6095c67d Mon Sep 17 00:00:00 2001 From: Antoine Quint Date: Wed, 9 Dec 2020 20:55:17 +0000 Subject: [PATCH] text-decoration-color animation should not be discrete https://bugs.webkit.org/show_bug.cgi?id=219691 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-transitions/properties-value-003-expected.txt: * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt: Source/WebCore: We mistakenly added animation support for text-decoration-color in r269812 as a discrete property. We now correctly make it a property that supports interpolation of the color type. * animation/CSSPropertyAnimation.cpp: (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Canonical link: https://commits.webkit.org/232266@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270597 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/imported/w3c/ChangeLog | 11 +++++++++++ .../properties-value-003-expected.txt | 4 ++-- .../interpolation-per-property-002-expected.txt | 12 ++++++------ Source/WebCore/ChangeLog | 14 ++++++++++++++ Source/WebCore/animation/CSSPropertyAnimation.cpp | 2 +- 5 files changed, 34 insertions(+), 9 deletions(-) diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog index 91c2c5ebbbe1..785846f92998 100644 --- a/LayoutTests/imported/w3c/ChangeLog +++ b/LayoutTests/imported/w3c/ChangeLog @@ -1,3 +1,14 @@ +2020-12-09 Antoine Quint + + text-decoration-color animation should not be discrete + https://bugs.webkit.org/show_bug.cgi?id=219691 + + + Reviewed by Simon Fraser. + + * web-platform-tests/css/css-transitions/properties-value-003-expected.txt: + * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt: + 2020-12-09 Antoine Quint REGRESSION (r269812): Amazon Prime: thumbnail fails to expand properly diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt index fd4bb47288ec..29316ba05713 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003-expected.txt @@ -47,8 +47,8 @@ FAIL marker-offset length(cm) / values assert_not_equals: initial and target val FAIL marker-offset length(cm) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "marker-offset:2s" but got "" FAIL marker-offset length(in) / values assert_not_equals: initial and target values may not match got disallowed value "" FAIL marker-offset length(in) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "marker-offset:2s" but got "" -FAIL text-decoration-color color(rgba) / values assert_not_equals: must not be target value after start got disallowed value "rgba(10, 10, 10, 0.4)" -FAIL text-decoration-color color(rgba) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "text-decoration-color:2s" but got "" +PASS text-decoration-color color(rgba) / values +PASS text-decoration-color color(rgba) / events PASS column-count integer(integer) / values PASS column-count integer(integer) / events PASS column-gap length(pt) / values diff --git a/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt index ff7005ab9a04..56c0325dbffe 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt @@ -143,12 +143,12 @@ PASS text-align uses discrete animation when animating between "start" and "end" PASS text-align uses discrete animation when animating between "start" and "end" with effect easing PASS text-align uses discrete animation when animating between "start" and "end" with keyframe easing PASS text-decoration-color (type: color) has testInterpolation function -FAIL text-decoration-color supports animating as color of rgb() assert_equals: The value should be rgb(128, 0, 128) at 500ms expected "rgb(128, 0, 128)" but got "rgb(0, 0, 255)" -FAIL text-decoration-color supports animating as color of #RGB assert_equals: The value should be rgb(128, 0, 128) at 500ms expected "rgb(128, 0, 128)" but got "rgb(0, 0, 255)" -FAIL text-decoration-color supports animating as color of hsl() assert_equals: The value should be rgb(128, 0, 128) at 500ms expected "rgb(128, 0, 128)" but got "rgb(0, 0, 255)" -FAIL text-decoration-color supports animating as color of #RGBa assert_equals: The value should be rgba(85, 0, 170, 0.6) at 500ms expected "rgba(85, 0, 170, 0.6)" but got "rgba(0, 0, 255, 0.8)" -FAIL text-decoration-color supports animating as color of rgba() assert_equals: The value should be rgba(85, 0, 170, 0.6) at 500ms expected "rgba(85, 0, 170, 0.6)" but got "rgba(0, 0, 255, 0.8)" -FAIL text-decoration-color supports animating as color of hsla() assert_equals: The value should be rgba(85, 0, 170, 0.6) at 500ms expected "rgba(85, 0, 170, 0.6)" but got "rgba(0, 0, 255, 0.8)" +PASS text-decoration-color supports animating as color of rgb() +PASS text-decoration-color supports animating as color of #RGB +PASS text-decoration-color supports animating as color of hsl() +PASS text-decoration-color supports animating as color of #RGBa +PASS text-decoration-color supports animating as color of rgba() +PASS text-decoration-color supports animating as color of hsla() PASS text-decoration-line (type: discrete) has testInterpolation function PASS text-decoration-line uses discrete animation when animating between "underline" and "overline" with linear easing PASS text-decoration-line uses discrete animation when animating between "underline" and "overline" with effect easing diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 589ba488e7b0..87797079072f 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,17 @@ +2020-12-09 Antoine Quint + + text-decoration-color animation should not be discrete + https://bugs.webkit.org/show_bug.cgi?id=219691 + + + Reviewed by Simon Fraser. + + We mistakenly added animation support for text-decoration-color in r269812 as a discrete property. + We now correctly make it a property that supports interpolation of the color type. + + * animation/CSSPropertyAnimation.cpp: + (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): + 2020-12-09 Ryan Haddad Unreviewed, reverting r270544 and r270569. diff --git a/Source/WebCore/animation/CSSPropertyAnimation.cpp b/Source/WebCore/animation/CSSPropertyAnimation.cpp index 30b3df58e2a9..a44fa51ad483 100644 --- a/Source/WebCore/animation/CSSPropertyAnimation.cpp +++ b/Source/WebCore/animation/CSSPropertyAnimation.cpp @@ -1896,6 +1896,7 @@ CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap() new PropertyWrapperFontStyle(), new PropertyWrapper(CSSPropertyTextDecorationThickness, &RenderStyle::textDecorationThickness, &RenderStyle::setTextDecorationThickness), new PropertyWrapper(CSSPropertyTextUnderlineOffset, &RenderStyle::textUnderlineOffset, &RenderStyle::setTextUnderlineOffset), + new PropertyWrapperVisitedAffectedColor(CSSPropertyTextDecorationColor, &RenderStyle::textDecorationColor, &RenderStyle::setTextDecorationColor, &RenderStyle::visitedLinkTextDecorationColor, &RenderStyle::setVisitedLinkTextDecorationColor), new LengthPropertyWrapper(CSSPropertyFlexBasis, &RenderStyle::flexBasis, &RenderStyle::setFlexBasis), new PropertyWrapper(CSSPropertyFlexGrow, &RenderStyle::flexGrow, &RenderStyle::setFlexGrow), @@ -1964,7 +1965,6 @@ CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap() new DiscretePropertyWrapper(CSSPropertyWebkitRubyPosition, &RenderStyle::rubyPosition, &RenderStyle::setRubyPosition), new DiscretePropertyWrapper(CSSPropertyTableLayout, &RenderStyle::tableLayout, &RenderStyle::setTableLayout), new DiscretePropertyWrapper(CSSPropertyTextAlign, &RenderStyle::textAlign, &RenderStyle::setTextAlign), - new DiscretePropertyWrapper(CSSPropertyTextDecorationColor, &RenderStyle::textDecorationColor, &RenderStyle::setTextDecorationColor), new DiscretePropertyWrapper>(CSSPropertyTextDecorationLine, &RenderStyle::textDecoration, &RenderStyle::setTextDecoration), new DiscretePropertyWrapper(CSSPropertyTextDecorationStyle, &RenderStyle::textDecorationStyle, &RenderStyle::setTextDecorationStyle), new DiscretePropertyWrapper(CSSPropertyWebkitTextEmphasisColor, &RenderStyle::textEmphasisColor, &RenderStyle::setTextEmphasisColor),