Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 38829fba9da0e5a1389d8873d91aa9926e776202
https://github.com/WebKit/WebKit/commit/38829fba9da0e5a1389d8873d91aa9926e776202
Author: Antoine Quint <[email protected]>
Date: 2025-02-10 (Mon, 10 Feb 2025)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-ignored.tentative-expected.txt
M Source/WebCore/animation/CSSAnimation.cpp
M Source/WebCore/animation/CSSAnimation.h
Log Message:
-----------
[scroll-animations] WPT test
`scroll-animations/css/animation-timeline-ignored.tentative.html` is a failure
https://bugs.webkit.org/show_bug.cgi?id=287393
Reviewed by Tim Nguyen.
The single remaining failure in this test first sets a running animation's
timeline to `null`,
runs some assertions, and then sets the `animation-timeline` property to
another value. The
purpose of this test is to check that setting the `animation-timeline` property
will have no
effect since the related Web Animations API was used, and uses the `pending`
property to determine
that instead of looking at the `timeline` property itself.
While this isn't the most direct approach, it is perfectly valid and we would
fail it because
the first call to set the null timeline would reset the playing state of the
animation, and while
we didn't reset a timeline when the `animation-timeline` property was set
afterwards, we would
trigger a call to `CSSAnimation::syncPropertiesWithBackingAnimation()`,
correctly, which would
make sure that all non-overridden animation CSS properties were updated.
In the case of the `animation-play-state` property, we would only look at the
playing state of the
animation to determine whether it matched the value held by the CSS property.
In this case, the
`animation-play-state` property was set to its default `playing` value and our
animation was not
in the running state due to not having a timeline. As such, we would yield a
new call to `play()`
to reset this discrepancy.
To address this, we now keep track of the last `animation-play-state` value
that was used to toggle
the playback state so that we only react to that value changing via style
resolution.
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-ignored.tentative-expected.txt:
* Source/WebCore/animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
* Source/WebCore/animation/CSSAnimation.h:
Canonical link: https://commits.webkit.org/290148@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes