Title: [291042] trunk
Revision
291042
Author
[email protected]
Date
2022-03-09 04:58:38 -0800 (Wed, 09 Mar 2022)

Log Message

[web-animations] clip-rule should support discrete animations
https://bugs.webkit.org/show_bug.cgi?id=237609

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:

Source/WebCore:

* animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::clipRule const):
(WebCore::RenderStyle::setClipRule):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291041 => 291042)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-09 12:58:38 UTC (rev 291042)
@@ -1,5 +1,16 @@
 2022-03-08  Antoine Quint  <[email protected]>
 
+        [web-animations] clip-rule should support discrete animations
+        https://bugs.webkit.org/show_bug.cgi?id=237609
+
+        Reviewed by Antti Koivisto.
+
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
+
+2022-03-08  Antoine Quint  <[email protected]>
+
         [web-animations] background-blend-mode should support discrete animation
         https://bugs.webkit.org/show_bug.cgi?id=237607
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt (291041 => 291042)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt	2022-03-09 12:58:38 UTC (rev 291042)
@@ -126,6 +126,9 @@
 PASS clip: "rect(10px, 10px, 10px, 10px)" onto "auto"
 PASS clip: "rect(10px, 10px, 10px, auto)" onto "rect(10px, 10px, 10px, 10px)"
 PASS clip: "rect(10px, 10px, 10px, 10px)" onto "rect(10px, 10px, 10px, auto)"
+PASS clip-rule (type: discrete) has testAccumulation function
+PASS clip-rule: "nonzero" onto "evenodd"
+PASS clip-rule: "evenodd" onto "nonzero"
 PASS color (type: color) has testAccumulation function
 FAIL color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 255) at 500ms expected "rgb(255, 128, 255)" but got "rgb(192, 128, 192)"
 PASS color supports animating as color of #RGB

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt (291041 => 291042)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt	2022-03-09 12:58:38 UTC (rev 291042)
@@ -126,6 +126,9 @@
 PASS clip: "rect(10px, 10px, 10px, 10px)" onto "auto"
 PASS clip: "rect(10px, 10px, 10px, auto)" onto "rect(10px, 10px, 10px, 10px)"
 PASS clip: "rect(10px, 10px, 10px, 10px)" onto "rect(10px, 10px, 10px, auto)"
+PASS clip-rule (type: discrete) has testAddition function
+PASS clip-rule: "nonzero" onto "evenodd"
+PASS clip-rule: "evenodd" onto "nonzero"
 PASS color (type: color) has testAddition function
 FAIL color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 255) at 500ms expected "rgb(255, 128, 255)" but got "rgb(192, 128, 192)"
 PASS color supports animating as color of #RGB

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt (291041 => 291042)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt	2022-03-09 12:58:38 UTC (rev 291042)
@@ -154,6 +154,10 @@
 PASS clip uses discrete animation when animating between "rect(10px, 10px, 10px, 10px)" and "rect(10px, 10px, 10px, auto)" with linear easing
 PASS clip uses discrete animation when animating between "rect(10px, 10px, 10px, 10px)" and "rect(10px, 10px, 10px, auto)" with effect easing
 PASS clip uses discrete animation when animating between "rect(10px, 10px, 10px, 10px)" and "rect(10px, 10px, 10px, auto)" with keyframe easing
+PASS clip-rule (type: discrete) has testInterpolation function
+PASS clip-rule uses discrete animation when animating between "evenodd" and "nonzero" with linear easing
+PASS clip-rule uses discrete animation when animating between "evenodd" and "nonzero" with effect easing
+PASS clip-rule uses discrete animation when animating between "evenodd" and "nonzero" with keyframe easing
 PASS color (type: color) has testInterpolation function
 PASS color supports animating as color of rgb()
 PASS color supports animating as color of #RGB

Modified: trunk/Source/WebCore/ChangeLog (291041 => 291042)


--- trunk/Source/WebCore/ChangeLog	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/Source/WebCore/ChangeLog	2022-03-09 12:58:38 UTC (rev 291042)
@@ -1,5 +1,18 @@
 2022-03-08  Antoine Quint  <[email protected]>
 
+        [web-animations] clip-rule should support discrete animations
+        https://bugs.webkit.org/show_bug.cgi?id=237609
+
+        Reviewed by Antti Koivisto.
+
+        * animation/CSSPropertyAnimation.cpp:
+        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+        * rendering/style/RenderStyle.h:
+        (WebCore::RenderStyle::clipRule const):
+        (WebCore::RenderStyle::setClipRule):
+
+2022-03-08  Antoine Quint  <[email protected]>
+
         [web-animations] background-blend-mode should support discrete animation
         https://bugs.webkit.org/show_bug.cgi?id=237607
 

Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (291041 => 291042)


--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp	2022-03-09 12:58:38 UTC (rev 291042)
@@ -2841,7 +2841,8 @@
         new DiscretePropertyWrapper<ColorInterpolation>(CSSPropertyColorInterpolation, &RenderStyle::colorInterpolation, &RenderStyle::setColorInterpolation),
         new DiscretePropertyWrapper<Kerning>(CSSPropertyFontKerning, &RenderStyle::fontKerning, &RenderStyle::setFontKerning),
         new DiscretePropertyWrapper<FontFeatureSettings>(CSSPropertyFontFeatureSettings, &RenderStyle::fontFeatureSettings, &RenderStyle::setFontFeatureSettings),
-        new FontFamilyWrapper
+        new FontFamilyWrapper,
+        new DiscretePropertyWrapper<WindRule>(CSSPropertyClipRule, &RenderStyle::clipRule, &RenderStyle::setClipRule)
     };
     const unsigned animatableLonghandPropertiesCount = WTF_ARRAY_LENGTH(animatableLonghandPropertyWrappers);
 

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (291041 => 291042)


--- trunk/Source/WebCore/rendering/style/RenderStyle.h	2022-03-09 12:55:11 UTC (rev 291041)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h	2022-03-09 12:58:38 UTC (rev 291042)
@@ -1430,6 +1430,8 @@
     const SVGRenderStyle& svgStyle() const { return m_svgStyle; }
     SVGRenderStyle& accessSVGStyle() { return m_svgStyle.access(); }
 
+    WindRule clipRule() const { return svgStyle().clipRule(); }
+    void setClipRule(WindRule clipRule) { accessSVGStyle().setClipRule(clipRule); }
     ColorInterpolation colorInterpolation() const { return svgStyle().colorInterpolation(); }
     void setColorInterpolation(ColorInterpolation colorInterpolation) { accessSVGStyle().setColorInterpolation(colorInterpolation); }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to