Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9ed7eb275fc90b1b3ff4a2878aa6d77eb475ced7
https://github.com/WebKit/WebKit/commit/9ed7eb275fc90b1b3ff4a2878aa6d77eb475ced7
Author: Nikolaos Mouchtaris <[email protected]>
Date: 2024-09-27 (Fri, 27 Sep 2024)
Changed paths:
M Source/WebCore/animation/ViewTimeline.cpp
M Source/WebCore/animation/ViewTimeline.h
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h
Log Message:
-----------
[scroll-animations] Fix computeViewTimelineData calculation
https://bugs.webkit.org/show_bug.cgi?id=280444
rdar://136789447
Reviewed by Antoine Quint.
Previously this calculation had coverRangeEnd take into account the current
scroll offset
which was incorrect. Update the progress calculation to be more in line with
the spec. Also
update subjectOffset to use offsetTop/Left since we need an offset that is not
affected by
scroll position. This is not correct for situations where offsetParent is
different than the
source scroller, so we may need a solution that walks up the tree and adds
scrollTop/Left. Also
update the comment and filed an issue
(https://github.com/w3c/csswg-drafts/issues/10960) due
to a small issue in the spec.
To help visualize this calculation, there is a tool:
https://scroll-driven-animations.style/tools/view-timeline/ranges/.
coverRangeStart is equivalent to the scroll offset necessary to have the top
edge of the subject touch
the bottom edge of the scroller. Conversly, coverRangeEnd is equivalent to the
scroll offset necessary
to have the bottom edge of the subject touch the top edge of the scroller. Note
that this calculation is
only correct for the cover named timeline range. This will be further
complicated when we start
doing calculations for other timeline ranges, which correspond to different
start and end positions for
the subject.
* Source/WebCore/animation/ViewTimeline.cpp:
(WebCore::ViewTimeline::computeViewTimelineData const):
(WebCore::ViewTimeline::startOffset const):
(WebCore::ViewTimeline::endOffset const):
* Source/WebCore/animation/ViewTimeline.h:
Canonical link: https://commits.webkit.org/284398@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