Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b71d8214608a716ad1dfbbad6b7b201022156360
https://github.com/WebKit/WebKit/commit/b71d8214608a716ad1dfbbad6b7b201022156360
Author: Antoine Quint <[email protected]>
Date: 2024-10-17 (Thu, 17 Oct 2024)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-multiple-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-none-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-view-functional-notation.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/merge-timeline-offset-keyframes-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/progress-based-animation-timeline-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-axis-writing-mode-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-in-container-query-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-multi-pass.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-sampling-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-hidden-subject-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-animation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-animation-range-update.tentative-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-dynamic-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-inset-animation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-keyframe-boundary-interpolation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-lookup-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-range-animation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-used-values-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/change-animation-range-updates-play-state-expected.txt
M Source/WebCore/animation/AnimationTimelinesController.cpp
M Source/WebCore/animation/AnimationTimelinesController.h
M Source/WebCore/animation/CSSAnimation.cpp
M Source/WebCore/animation/ViewTimeline.cpp
M Source/WebCore/animation/ViewTimeline.h
M Source/WebCore/style/StyleTreeResolver.cpp
M Source/WebCore/style/Styleable.cpp
M Source/WebCore/style/Styleable.h
Log Message:
-----------
[scroll-animations] associate CSS Animations with view timelines
https://bugs.webkit.org/show_bug.cgi?id=281672
rdar://138121266
Reviewed by Simon Fraser.
While we've already added support for parsing the `animation-timeline` property
for named
view timelines and the `view()` function for anonymous view timelines, we
haven't yet
associated CSS Animations with those timelines.
We kick this off under `Style::TreeResolver::createAnimatedElementUpdate()` by
calling the
new `Styleable::updateCSSViewTimelines()` method where we'll process both
anonymous
view timelines and named view timelines.
For named view timelines, we keep a map on `AnimationTimelinesController` to be
able to
register, unregister and get a named timeline. Then in
`CSSAnimation::syncPropertiesWithBackingAnimation()`
we call `setTimeline()` to the provided anonymous or named view timeline.
Since this is the first time we're making use of `animation-timeline` or
`view()` in a way
that is visible to Web content, other than querying style objects, this
requires a fair bit
of rebaselining. While some tests appear as new `FAIL` results, these are
almost sure to be
false positives due to not implementing style-originated timelines.
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-multiple-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-none-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/animation-timeline-view-functional-notation.tentative-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/merge-timeline-offset-keyframes-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/progress-based-animation-timeline-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-axis-writing-mode-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-in-container-query-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-multi-pass.tentative-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-sampling-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-hidden-subject-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-animation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-animation-range-update.tentative-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-dynamic-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-inset-animation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-keyframe-boundary-interpolation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-lookup-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-range-animation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/css/view-timeline-used-values-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/change-animation-range-updates-play-state-expected.txt:
* Source/WebCore/animation/AnimationTimelinesController.cpp:
(WebCore::AnimationTimelinesController::registerNamedViewTimeline):
(WebCore::AnimationTimelinesController::unregisterNamedViewTimeline):
(WebCore::AnimationTimelinesController::viewTimelineForName const):
* Source/WebCore/animation/AnimationTimelinesController.h:
* Source/WebCore/animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
* Source/WebCore/animation/ViewTimeline.cpp:
(WebCore::ViewTimeline::setSubject):
* Source/WebCore/animation/ViewTimeline.h:
* Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
* Source/WebCore/style/Styleable.cpp:
(WebCore::Styleable::updateCSSScrollTimelines const):
(WebCore::Styleable::updateCSSViewTimelines const):
(WebCore::Styleable::updateCSSScrollDrivenTimelines const): Deleted.
* Source/WebCore/style/Styleable.h:
Canonical link: https://commits.webkit.org/285354@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