Title: [291128] trunk
Revision
291128
Author
grao...@webkit.org
Date
2022-03-10 13:41:57 -0800 (Thu, 10 Mar 2022)

Log Message

[web-animations] quotes should support discrete animation
https://bugs.webkit.org/show_bug.cgi?id=237721

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

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

Source/WebCore:

* animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291127 => 291128)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-10 21:27:29 UTC (rev 291127)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-10 21:41:57 UTC (rev 291128)
@@ -1,3 +1,14 @@
+2022-03-10  Antoine Quint  <grao...@webkit.org>
+
+        [web-animations] quotes should support discrete animation
+        https://bugs.webkit.org/show_bug.cgi?id=237721
+
+        Reviewed by Antti Koivisto.
+
+        * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
+        * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
+
 2022-03-10  Chris Fleizach  <cfleiz...@apple.com>
 
         AX: Support updated WebSpeech API

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


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt	2022-03-10 21:27:29 UTC (rev 291127)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt	2022-03-10 21:41:57 UTC (rev 291128)
@@ -107,6 +107,9 @@
 PASS position (type: discrete) has testAccumulation function
 PASS position: "fixed" onto "absolute"
 PASS position: "absolute" onto "fixed"
+PASS quotes (type: discrete) has testAccumulation function
+PASS quotes: ""‘" "’" "“" "”"" onto ""“" "”" "‘" "’""
+PASS quotes: ""“" "”" "‘" "’"" onto ""‘" "’" "“" "”""
 PASS resize (type: discrete) has testAccumulation function
 PASS resize: "horizontal" onto "both"
 PASS resize: "both" onto "horizontal"

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


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt	2022-03-10 21:27:29 UTC (rev 291127)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt	2022-03-10 21:41:57 UTC (rev 291128)
@@ -107,6 +107,9 @@
 PASS position (type: discrete) has testAddition function
 PASS position: "fixed" onto "absolute"
 PASS position: "absolute" onto "fixed"
+PASS quotes (type: discrete) has testAddition function
+PASS quotes: ""‘" "’" "“" "”"" onto ""“" "”" "‘" "’""
+PASS quotes: ""“" "”" "‘" "’"" onto ""‘" "’" "“" "”""
 PASS resize (type: discrete) has testAddition function
 PASS resize: "horizontal" onto "both"
 PASS resize: "both" onto "horizontal"

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


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt	2022-03-10 21:27:29 UTC (rev 291127)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt	2022-03-10 21:41:57 UTC (rev 291128)
@@ -125,6 +125,10 @@
 PASS position uses discrete animation when animating between "absolute" and "fixed" with linear easing
 PASS position uses discrete animation when animating between "absolute" and "fixed" with effect easing
 PASS position uses discrete animation when animating between "absolute" and "fixed" with keyframe easing
+PASS quotes (type: discrete) has testInterpolation function
+PASS quotes uses discrete animation when animating between ""“" "”" "‘" "’"" and ""‘" "’" "“" "”"" with linear easing
+PASS quotes uses discrete animation when animating between ""“" "”" "‘" "’"" and ""‘" "’" "“" "”"" with effect easing
+PASS quotes uses discrete animation when animating between ""“" "”" "‘" "’"" and ""‘" "’" "“" "”"" with keyframe easing
 PASS resize (type: discrete) has testInterpolation function
 PASS resize uses discrete animation when animating between "both" and "horizontal" with linear easing
 PASS resize uses discrete animation when animating between "both" and "horizontal" with effect easing

Modified: trunk/Source/WebCore/ChangeLog (291127 => 291128)


--- trunk/Source/WebCore/ChangeLog	2022-03-10 21:27:29 UTC (rev 291127)
+++ trunk/Source/WebCore/ChangeLog	2022-03-10 21:41:57 UTC (rev 291128)
@@ -1,3 +1,13 @@
+2022-03-10  Antoine Quint  <grao...@webkit.org>
+
+        [web-animations] quotes should support discrete animation
+        https://bugs.webkit.org/show_bug.cgi?id=237721
+
+        Reviewed by Antti Koivisto.
+
+        * animation/CSSPropertyAnimation.cpp:
+        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+
 2022-03-10  Chris Dumez  <cdu...@apple.com>
 
         Document is leaking on haaretz.co.il due to an async script

Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (291127 => 291128)


--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp	2022-03-10 21:27:29 UTC (rev 291127)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp	2022-03-10 21:41:57 UTC (rev 291128)
@@ -57,6 +57,7 @@
 #include "MatrixTransformOperation.h"
 #include "OffsetRotation.h"
 #include "PathOperation.h"
+#include "QuotesData.h"
 #include "RenderBox.h"
 #include "RenderStyle.h"
 #include "StyleCachedImage.h"
@@ -2716,6 +2717,35 @@
     }
 };
 
+class QuotesWrapper final : public AnimationPropertyWrapperBase {
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    QuotesWrapper()
+        : AnimationPropertyWrapperBase(CSSPropertyQuotes)
+    {
+    }
+
+private:
+    bool canInterpolate(const RenderStyle&, const RenderStyle&, CompositeOperation) const override { return false; }
+
+    bool equals(const RenderStyle& a, const RenderStyle& b) const override
+    {
+        return a.quotes() == b.quotes();
+    }
+
+    void blend(RenderStyle& destination, const RenderStyle& from, const RenderStyle& to, const CSSPropertyBlendingContext& context) const override
+    {
+        ASSERT(!context.progress || context.progress == 1.0);
+        destination.setQuotes((context.progress ? to : from).quotes());
+    }
+
+#if !LOG_DISABLED
+    void logBlend(const RenderStyle&, const RenderStyle&, const RenderStyle&, double) const override
+    {
+    }
+#endif
+};
+
 class CSSPropertyAnimationWrapperMap final {
     WTF_MAKE_FAST_ALLOCATED;
 public:
@@ -3057,7 +3087,8 @@
         new FontVariantLigaturesWrapper,
         new DiscretePropertyWrapper<FontVariantPosition>(CSSPropertyFontVariantPosition, &RenderStyle::fontVariantPosition, &RenderStyle::setFontVariantPosition),
         new DiscretePropertyWrapper<FontVariantCaps>(CSSPropertyFontVariantCaps, &RenderStyle::fontVariantCaps, &RenderStyle::setFontVariantCaps),
-        new GridTemplateAreasWrapper
+        new GridTemplateAreasWrapper,
+        new QuotesWrapper
     };
     const unsigned animatableLonghandPropertiesCount = WTF_ARRAY_LENGTH(animatableLonghandPropertyWrappers);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to