Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 544a1a4c9970857dab48c9e052cab8b6ae091da1
      
https://github.com/WebKit/WebKit/commit/544a1a4c9970857dab48c9e052cab8b6ae091da1
  Author: Nikolaos Mouchtaris <[email protected]>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    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/view-timelines/sticky/view-timeline-sticky-offscreen-1-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-2-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-3-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-6-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-7-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/view-timeline-sticky-block-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/view-timeline-sticky-inline-expected.txt
    M Source/WebCore/animation/ScrollTimeline.h
    M Source/WebCore/animation/ViewTimeline.cpp
    M Source/WebCore/animation/ViewTimeline.h

  Log Message:
  -----------
  [scroll-animations] Handle ViewTimeline subjects that are position:sticky
https://bugs.webkit.org/show_bug.cgi?id=287451
rdar://144584129

Reviewed by Simon Fraser.

To handle ViewTimeline subjects that are position:sticky, first ignore sticky 
offsets when getting the
subject offset from its scroll container. To compute the distance that a sticky 
element remains stationary,
it is necessary to get the difference of the sticky container's edge from its 
containing block's edge.
It is also necessary to compute the subjects location when the stickiness 
occurs, to ensure we can
properly adjust the range start and end, as well as for a specific 
animation-range. This will need a follow
up fix for targets larger than the scrollable container, which affects 
view-timeline-sticky-offscreen-6/7.

* 
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-view-functional-notation.tentative-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-1-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-2-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-3-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-6-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/view-timeline-sticky-block-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/view-timeline-sticky-block.html:
* 
LayoutTests/imported/w3c/web-platform-tests/scroll-animations/view-timelines/view-timeline-sticky-inline-expected.txt:
* Source/WebCore/animation/ScrollTimeline.h:
* Source/WebCore/animation/ViewTimeline.cpp:
(WebCore::StickinessAdjustmentData::computeStickinessAdjustmentData):
(WebCore::StickinessAdjustmentData::rangeStartAdjustment const):
(WebCore::StickinessAdjustmentData::rangeEndAdjustment const):
(WebCore::ViewTimeline::cacheCurrentTime):
(WebCore::ViewTimeline::stickyContainer const):
(WebCore::ViewTimeline::computeTimelineData const):
(WebCore::ViewTimeline::intervalForTimelineRangeName const):
(WebCore::operator<<):
* Source/WebCore/animation/ViewTimeline.h:

Canonical link: https://commits.webkit.org/290377@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