Title: [289181] trunk
Revision
289181
Author
[email protected]
Date
2022-02-06 13:10:45 -0800 (Sun, 06 Feb 2022)

Log Message

[css-logical] Animations should convert logical properties to their physical equivalents
https://bugs.webkit.org/show_bug.cgi?id=218092
<rdar://problem/70579530>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

* web-platform-tests/css/css-logical/animation-002-expected.txt:

Source/WebCore:

When computing the keyframe styles for a CSS animation, resolve the logical properties
to their physical equivalent.

* style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289180 => 289181)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-02-06 20:59:11 UTC (rev 289180)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-02-06 21:10:45 UTC (rev 289181)
@@ -1,5 +1,17 @@
 2022-02-06  Antoine Quint  <[email protected]>
 
+        [css-logical] Animations should convert logical properties to their physical equivalents
+        https://bugs.webkit.org/show_bug.cgi?id=218092
+        <rdar://problem/70579530>
+
+        Reviewed by Dean Jackson.
+
+        Mark WPT progressions.
+
+        * web-platform-tests/css/css-logical/animation-002-expected.txt:
+
+2022-02-06  Antoine Quint  <[email protected]>
+
         [css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties
         https://bugs.webkit.org/show_bug.cgi?id=236197
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002-expected.txt (289180 => 289181)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002-expected.txt	2022-02-06 20:59:11 UTC (rev 289180)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002-expected.txt	2022-02-06 21:10:45 UTC (rev 289181)
@@ -1,17 +1,17 @@
 
-FAIL Logical properties can be animated assert_equals: expected "50px" but got "0px"
-FAIL Logical properties in animations respect the writing-mode assert_equals: expected "50px" but got "0px"
-FAIL Logical properties in animations respect the direction assert_equals: expected "50px" but got "0px"
+PASS Logical properties can be animated
+PASS Logical properties in animations respect the writing-mode
+PASS Logical properties in animations respect the direction
 PASS Declaration order is respected within @keyframes declaration blocks
 PASS Logical properties are able to override physical properties in @keyframes declaration blocks
-FAIL Declaration order is respected amongst logical properties within @keyframes declaration blocks assert_equals: expected "100px" but got "0px"
+PASS Declaration order is respected amongst logical properties within @keyframes declaration blocks
 PASS Physical properties and logical properties can be mixed
 PASS Declaration order is respected on each keyframe individually
 FAIL Animations update when the writing-mode is changed assert_equals: expected "50px" but got "0px"
 FAIL Filling animations update when the writing-mode is changed assert_equals: expected "100px" but got "0px"
 FAIL The number of interpolating properties can be increased when the writing-mode is changed assert_equals: expected "50px" but got "0px"
-FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "150px" but got "100px"
+FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "150px" but got "200px"
 FAIL Animations update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px"
-FAIL Logical shorthand with variable references animates correctly assert_equals: expected "250px" but got "auto"
-FAIL Animations update when the direction is changed assert_equals: expected "50px" but got "0px"
+PASS Logical shorthand with variable references animates correctly
+FAIL Animations update when the direction is changed assert_equals: expected "0px" but got "50px"
 

Modified: trunk/Source/WebCore/ChangeLog (289180 => 289181)


--- trunk/Source/WebCore/ChangeLog	2022-02-06 20:59:11 UTC (rev 289180)
+++ trunk/Source/WebCore/ChangeLog	2022-02-06 21:10:45 UTC (rev 289181)
@@ -1,5 +1,19 @@
 2022-02-06  Antoine Quint  <[email protected]>
 
+        [css-logical] Animations should convert logical properties to their physical equivalents
+        https://bugs.webkit.org/show_bug.cgi?id=218092
+        <rdar://problem/70579530>
+
+        Reviewed by Dean Jackson.
+
+        When computing the keyframe styles for a CSS animation, resolve the logical properties
+        to their physical equivalent.
+
+        * style/StyleResolver.cpp:
+        (WebCore::Style::Resolver::styleForKeyframe):
+
+2022-02-06  Antoine Quint  <[email protected]>
+
         [web-animations] DocumentTimeline::computeExtentOfAnimation() should be defined on Styleable
         https://bugs.webkit.org/show_bug.cgi?id=236204
 

Modified: trunk/Source/WebCore/style/StyleResolver.cpp (289180 => 289181)


--- trunk/Source/WebCore/style/StyleResolver.cpp	2022-02-06 20:59:11 UTC (rev 289180)
+++ trunk/Source/WebCore/style/StyleResolver.cpp	2022-02-06 21:10:45 UTC (rev 289181)
@@ -294,7 +294,7 @@
     // Add all the animating properties to the keyframe.
     unsigned propertyCount = keyframe.properties().propertyCount();
     for (unsigned i = 0; i < propertyCount; ++i) {
-        CSSPropertyID property = keyframe.properties().propertyAt(i).id();
+        auto property = CSSProperty::resolveDirectionAwareProperty(keyframe.properties().propertyAt(i).id(), elementStyle.direction(), elementStyle.writingMode());
         // The animation-composition and animation-timing-function within keyframes are special
         // because they are not animated; they just describe the composite operation and timing
         // function between this keyframe and the next.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to