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);