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

Reply via email to