Title: [229891] trunk
- Revision
- 229891
- Author
- grao...@webkit.org
- Date
- 2018-03-23 04:49:04 -0700 (Fri, 23 Mar 2018)
Log Message
[Web Animations] infinite repeat counts aren't reflected for CSS Animations
https://bugs.webkit.org/show_bug.cgi?id=183932
Reviewed by Dean Jackson.
LayoutTests/imported/mozilla:
Record progressions of Mozilla tests.
* css-animations/test_animation-computed-timing-expected.txt:
* css-animations/test_animation-finish-expected.txt:
Source/WebCore:
The "infinite" value for animation-repeat-count is reflected as a special value which resolves to -1. We need to check
for this special value before setting the iterations count on the AnimationEffectTimingReadOnly object.
* animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
LayoutTests:
One of the Mozilla tests now passes completely and reliably.
* TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (229890 => 229891)
--- trunk/LayoutTests/ChangeLog 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/LayoutTests/ChangeLog 2018-03-23 11:49:04 UTC (rev 229891)
@@ -1,3 +1,14 @@
+2018-03-23 Antoine Quint <grao...@apple.com>
+
+ [Web Animations] infinite repeat counts aren't reflected for CSS Animations
+ https://bugs.webkit.org/show_bug.cgi?id=183932
+
+ Reviewed by Dean Jackson.
+
+ One of the Mozilla tests now passes completely and reliably.
+
+ * TestExpectations:
+
2018-03-22 Antoine Quint <grao...@apple.com>
[Web Animations] Correctly cancel animations when a parent gets a "display: none" style or when an element is removed
Modified: trunk/LayoutTests/TestExpectations (229890 => 229891)
--- trunk/LayoutTests/TestExpectations 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/LayoutTests/TestExpectations 2018-03-23 11:49:04 UTC (rev 229891)
@@ -1709,7 +1709,6 @@
webkit.org/b/183817 imported/mozilla/css-animations/test_animation-computed-timing.html [ Pass Failure Timeout ]
webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ]
webkit.org/b/183819 imported/mozilla/css-animations/test_animation-currenttime.html [ Pass Failure Timeout ]
-webkit.org/b/183820 imported/mozilla/css-animations/test_animation-finish.html [ Pass Failure Timeout ]
webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ]
webkit.org/b/183822 imported/mozilla/css-animations/test_animation-finished.html [ Pass Failure Timeout ]
webkit.org/b/183823 imported/mozilla/css-transitions/test_animation-computed-timing.html [ Pass Failure Timeout ]
Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (229890 => 229891)
--- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-03-23 11:49:04 UTC (rev 229891)
@@ -1,3 +1,15 @@
+2018-03-23 Antoine Quint <grao...@apple.com>
+
+ [Web Animations] infinite repeat counts aren't reflected for CSS Animations
+ https://bugs.webkit.org/show_bug.cgi?id=183932
+
+ Reviewed by Dean Jackson.
+
+ Record progressions of Mozilla tests.
+
+ * css-animations/test_animation-computed-timing-expected.txt:
+ * css-animations/test_animation-finish-expected.txt:
+
2018-03-22 Antoine Quint <grao...@apple.com>
[Web Animations] Correctly cancel animations when a parent gets a "display: none" style or when an element is removed
Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt (229890 => 229891)
--- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt 2018-03-23 11:49:04 UTC (rev 229891)
@@ -7,17 +7,17 @@
PASS iterationStart of a new animation
PASS iterations of a new animation
PASS iterations of a finitely repeating animation
-FAIL iterations of an infinitely repeating animation assert_equals: Initial value of iterations expected Infinity but got 1
+PASS iterations of an infinitely repeating animation
PASS duration of a new animation
PASS direction of a new animation
FAIL easing of a new animation assert_equals: Initial value of easing expected "linear" but got "ease"
PASS endTime of an new animation
PASS endTime of an animation with a negative delay
-FAIL endTime of an infinitely repeating animation undefined is not an object (evaluating 'div.getAnimations()[0].effect')
+PASS endTime of an infinitely repeating animation
PASS endTime of an infinitely repeating zero-duration animation
PASS endTime of an animation that finishes before its startTime
PASS activeDuration of a new animation
-FAIL activeDuration of an infinitely repeating animation assert_equals: Initial value of activeDuration expected Infinity but got 100000
+PASS activeDuration of an infinitely repeating animation
PASS activeDuration of an infinitely repeating zero-duration animation
PASS activeDuration of an animation with zero iterations
PASS localTime of a new animation
@@ -36,7 +36,7 @@
PASS progress of a non-integral repeating zero-duration animation with alternate-reverse direction
PASS currentIteration of a new animation with no backwards fill is unresolved in before phase
PASS currentIteration of a new animation is zero
-FAIL currentIteration of an infinitely repeating zero-duration animation assert_equals: Initial value of currentIteration in after phase expected Infinity but got 0
+PASS currentIteration of an infinitely repeating zero-duration animation
PASS currentIteration of a finitely repeating zero-duration animation
PASS currentIteration of an animation with a non-integral iteration count
PASS currentIteration of an animation with an integral iteration count
Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-finish-expected.txt (229890 => 229891)
--- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-finish-expected.txt 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-finish-expected.txt 2018-03-23 11:49:04 UTC (rev 229891)
@@ -1,5 +1,5 @@
-FAIL Test exceptions when finishing infinite animation assert_true: Expect InvalidStateError exception trying to finish an infinite animation expected true got false
+PASS Test exceptions when finishing infinite animation
PASS Test finish() while paused
PASS Test finish() while pause-pending with positive playbackRate
PASS Test finish() while pause-pending with negative playbackRate
Modified: trunk/Source/WebCore/ChangeLog (229890 => 229891)
--- trunk/Source/WebCore/ChangeLog 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/Source/WebCore/ChangeLog 2018-03-23 11:49:04 UTC (rev 229891)
@@ -1,3 +1,16 @@
+2018-03-23 Antoine Quint <grao...@apple.com>
+
+ [Web Animations] infinite repeat counts aren't reflected for CSS Animations
+ https://bugs.webkit.org/show_bug.cgi?id=183932
+
+ Reviewed by Dean Jackson.
+
+ The "infinite" value for animation-repeat-count is reflected as a special value which resolves to -1. We need to check
+ for this special value before setting the iterations count on the AnimationEffectTimingReadOnly object.
+
+ * animation/CSSAnimation.cpp:
+ (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
+
2018-03-22 Antoine Quint <grao...@apple.com>
[Web Animations] Correctly cancel animations when a parent gets a "display: none" style or when an element is removed
Modified: trunk/Source/WebCore/animation/CSSAnimation.cpp (229890 => 229891)
--- trunk/Source/WebCore/animation/CSSAnimation.cpp 2018-03-23 11:47:26 UTC (rev 229890)
+++ trunk/Source/WebCore/animation/CSSAnimation.cpp 2018-03-23 11:49:04 UTC (rev 229891)
@@ -90,7 +90,8 @@
break;
}
- timing->setIterations(animation.iterationCount());
+ auto iterationCount = animation.iterationCount();
+ timing->setIterations(iterationCount == Animation::IterationCountInfinite ? std::numeric_limits<double>::infinity() : iterationCount);
// Synchronize the play state
if (backingAnimation().playState() == AnimPlayStatePlaying && playState() == WebAnimation::PlayState::Paused)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes