Title: [287549] trunk
Revision
287549
Author
[email protected]
Date
2022-01-03 10:45:11 -0800 (Mon, 03 Jan 2022)

Log Message

[Web Animations] calling setKeyframes() on a running CSS Transition has no immediate effect
https://bugs.webkit.org/show_bug.cgi?id=234818

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

* web-platform-tests/css/css-animations/animation-base-response-004-expected.txt:
* web-platform-tests/css/css-cascade/revert-val-010-expected.txt:
* web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt:
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-filling-expected.txt:
* web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:

Source/WebCore:

We must mark the target as dirty if setKeyframes() is called.

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::processKeyframes):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287548 => 287549)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-01-03 18:45:11 UTC (rev 287549)
@@ -1,5 +1,20 @@
 2022-01-03  Antoine Quint  <[email protected]>
 
+        [Web Animations] calling setKeyframes() on a running CSS Transition has no immediate effect
+        https://bugs.webkit.org/show_bug.cgi?id=234818
+
+        Reviewed by Dean Jackson.
+
+        Mark WPT progressions.
+
+        * web-platform-tests/css/css-animations/animation-base-response-004-expected.txt:
+        * web-platform-tests/css/css-cascade/revert-val-010-expected.txt:
+        * web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt:
+        * web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-filling-expected.txt:
+        * web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
+
+2022-01-03  Antoine Quint  <[email protected]>
+
         [Web Animations] reversing factor should be computed before canceling the previous transition
         https://bugs.webkit.org/show_bug.cgi?id=234821
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-base-response-004-expected.txt (287548 => 287549)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-base-response-004-expected.txt	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-base-response-004-expected.txt	2022-01-03 18:45:11 UTC (rev 287549)
@@ -1,3 +1,3 @@
 
-FAIL Base is responsive to font-affecting appearing via setKeyframes assert_equals: expected "15px" but got "75px"
+FAIL Base is responsive to font-affecting appearing via setKeyframes assert_equals: expected "15px" but got "10px"
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010-expected.txt (287548 => 287549)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010-expected.txt	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010-expected.txt	2022-01-03 18:45:11 UTC (rev 287549)
@@ -1,3 +1,3 @@
 
-FAIL The revert works when appearing in setKeyframes assert_equals: expected 42 but got 126
+FAIL The revert works when appearing in setKeyframes assert_equals: expected 42 but got 31
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt (287548 => 287549)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt	2022-01-03 18:45:11 UTC (rev 287549)
@@ -1,5 +1,5 @@
 
-FAIL Keyframes set using setKeyframes() are reflected in computed style for a running transition assert_equals: expected "200px" but got "0px"
+PASS Keyframes set using setKeyframes() are reflected in computed style for a running transition
 PASS A transition with replaced keyframes still returns the original transitionProperty
 PASS A transition with no keyframes still returns the original transitionProperty
 PASS A transition with replaced keyframes animating the same property still exhibits normal reversing behavior.

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-filling-expected.txt (287548 => 287549)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-filling-expected.txt	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-filling-expected.txt	2022-01-03 18:45:11 UTC (rev 287549)
@@ -3,7 +3,7 @@
 FAIL Filling effect values reflect changes to font-size on parent element assert_equals: Effect value after updating font-size on parent element expected "400px" but got "200px"
 FAIL Filling effect values reflect changes to variables on element assert_equals: Effect value after updating variable expected "200px" but got "100px"
 FAIL Filling effect values reflect changes to variables on parent element assert_equals: Effect value after updating variable expected "400px" but got "200px"
-FAIL Filling effect values reflect changes to the the animation's keyframes assert_equals: Effect value after updating the animation expected "300px" but got "200px"
+PASS Filling effect values reflect changes to the the animation's keyframes
 FAIL Filling effect values reflect changes to the the animation's composite mode assert_equals: Effect value after updating the composite mode expected "300px" but got "200px"
 FAIL Filling effect values reflect changes to the the animation's iteration composite mode assert_equals: Effect value after updating the iteration composite mode expected "200px" but got "100px"
 PASS Filling effect values reflect changes to the base value when using additive animation
@@ -12,5 +12,5 @@
 FAIL Filling effect values reflect changes to the base value via a parent element assert_equals: Effect value after updating font-size on parent expected "400px" but got "300px"
 PASS Filling effect values reflect changes to underlying animations
 FAIL Filling effect values reflect changes to underlying animations via a a parent element assert_equals: Effect value after updating parent font-size expected "400px" but got "300px"
-FAIL Filling effect values reflect changes to underlying animations made by directly changing the keyframes assert_equals: Effect value after updating underlying animation expected "300px" but got "200px"
+PASS Filling effect values reflect changes to underlying animations made by directly changing the keyframes
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt (287548 => 287549)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt	2022-01-03 18:45:11 UTC (rev 287549)
@@ -77,5 +77,5 @@
 PASS KeyframeEffect constructor throws with property-indexed keyframes with an invalid composite value
 PASS KeyframeEffect constructor throws with property-indexed keyframes with an invalid composite value as one of the array values
 PASS KeyframeEffect constructor throws with keyframes with an invalid composite value
-FAIL Changes made via setKeyframes should be immediately visible in style assert_equals: expected "250px" but got "150px"
+PASS Changes made via setKeyframes should be immediately visible in style
 

Modified: trunk/Source/WebCore/ChangeLog (287548 => 287549)


--- trunk/Source/WebCore/ChangeLog	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/Source/WebCore/ChangeLog	2022-01-03 18:45:11 UTC (rev 287549)
@@ -1,5 +1,17 @@
 2022-01-03  Antoine Quint  <[email protected]>
 
+        [Web Animations] calling setKeyframes() on a running CSS Transition has no immediate effect
+        https://bugs.webkit.org/show_bug.cgi?id=234818
+
+        Reviewed by Dean Jackson.
+
+        We must mark the target as dirty if setKeyframes() is called.
+
+        * animation/KeyframeEffect.cpp:
+        (WebCore::KeyframeEffect::processKeyframes):
+
+2022-01-03  Antoine Quint  <[email protected]>
+
         [Web Animations] reversing factor should be computed before canceling the previous transition
         https://bugs.webkit.org/show_bug.cgi?id=234821
 

Modified: trunk/Source/WebCore/animation/KeyframeEffect.cpp (287548 => 287549)


--- trunk/Source/WebCore/animation/KeyframeEffect.cpp	2022-01-03 18:40:00 UTC (rev 287548)
+++ trunk/Source/WebCore/animation/KeyframeEffect.cpp	2022-01-03 18:45:11 UTC (rev 287549)
@@ -855,6 +855,8 @@
 
     clearBlendingKeyframes();
 
+    invalidate();
+
     return { };
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to