[webkit-changes] [WebKit/WebKit] 801565: [scroll-animations] refactor code related to `anim...

Antoine Quint noreply at github.com
Sun Feb 16 12:29:31 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 801565e14227f7d3a2fc7a7fc6d3fe3ec3d108ba
      https://github.com/WebKit/WebKit/commit/801565e14227f7d3a2fc7a7fc6d3fe3ec3d108ba
  Author: Antoine Quint <graouts at webkit.org>
  Date:   2025-02-16 (Sun, 16 Feb 2025)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/animation/AnimationTimelinesController.cpp
    M Source/WebCore/animation/AnimationTimelinesController.h
    M Source/WebCore/animation/CSSAnimation.cpp
    A Source/WebCore/animation/StyleOriginatedTimelinesController.cpp
    A Source/WebCore/animation/StyleOriginatedTimelinesController.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/style/StyleTreeResolver.cpp
    M Source/WebCore/style/Styleable.cpp

  Log Message:
  -----------
  [scroll-animations] refactor code related to `animation-timeline` and `timeline-scope` out of `AnimationTimelinesController`
https://bugs.webkit.org/show_bug.cgi?id=287767

Reviewed by Anne van Kesteren.

We've been adding a fair bit of code to `AnimationTimelinesController` since starting work on Scroll-driven
Animations to support the `animation-timeline` and `timeline-scope` properties. Since there is almost no
overlap between the pre-existing functionality of `AnimationTimelinesController` and the added code, it
makes sense to split off this new code in a dedicated class: `ScrollOriginatedTimelinesController`.

* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/AnimationTimelinesController.cpp:
(WebCore::AnimationTimelinesController::isPendingTimelineAttachment const):
(WebCore::originatingElement): Deleted.
(WebCore::originatingStyleableIncludingTimelineScope): Deleted.
(WebCore::originatingElementExcludingTimelineScope): Deleted.
(WebCore::AnimationTimelinesController::relatedTimelineScopeElements): Deleted.
(WebCore::AnimationTimelinesController::inactiveNamedTimeline): Deleted.
(WebCore::containsElement): Deleted.
(WebCore::AnimationTimelinesController::determineTreeOrder): Deleted.
(WebCore::AnimationTimelinesController::determineTimelineForElement): Deleted.
(WebCore::AnimationTimelinesController::timelinesForName): Deleted.
(WebCore::AnimationTimelinesController::updateTimelineForTimelineScope): Deleted.
(WebCore::AnimationTimelinesController::registerNamedScrollTimeline): Deleted.
(WebCore::AnimationTimelinesController::updateCSSAnimationsAssociatedWithNamedTimeline): Deleted.
(WebCore::AnimationTimelinesController::removePendingOperationsForCSSAnimation): Deleted.
(WebCore::AnimationTimelinesController::documentDidResolveStyle): Deleted.
(WebCore::AnimationTimelinesController::registerNamedViewTimeline): Deleted.
(WebCore::AnimationTimelinesController::unregisterNamedTimeline): Deleted.
(WebCore::AnimationTimelinesController::setTimelineForName): Deleted.
(WebCore::updateTimelinesForTimelineScope): Deleted.
(WebCore::AnimationTimelinesController::updateNamedTimelineMapForTimelineScope): Deleted.
(WebCore::AnimationTimelinesController::unregisterNamedTimelinesAssociatedWithElement): Deleted.
(WebCore::AnimationTimelinesController::styleableWasRemoved): Deleted.
* Source/WebCore/animation/AnimationTimelinesController.h:
* Source/WebCore/animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::syncStyleOriginatedTimeline):
* Source/WebCore/animation/StyleOriginatedTimelinesController.cpp: Copied from Source/WebCore/animation/AnimationTimelinesController.cpp.
(WebCore::originatingElement):
(WebCore::originatingStyleableIncludingTimelineScope):
(WebCore::originatingElementExcludingTimelineScope):
(WebCore::StyleOriginatedTimelinesController::relatedTimelineScopeElements):
(WebCore::StyleOriginatedTimelinesController::inactiveNamedTimeline):
(WebCore::containsElement):
(WebCore::StyleOriginatedTimelinesController::determineTreeOrder):
(WebCore::StyleOriginatedTimelinesController::determineTimelineForElement):
(WebCore::StyleOriginatedTimelinesController::timelinesForName):
(WebCore::StyleOriginatedTimelinesController::updateTimelineForTimelineScope):
(WebCore::StyleOriginatedTimelinesController::registerNamedScrollTimeline):
(WebCore::StyleOriginatedTimelinesController::updateCSSAnimationsAssociatedWithNamedTimeline):
(WebCore::StyleOriginatedTimelinesController::removePendingOperationsForCSSAnimation):
(WebCore::StyleOriginatedTimelinesController::documentDidResolveStyle):
(WebCore::StyleOriginatedTimelinesController::registerNamedViewTimeline):
(WebCore::StyleOriginatedTimelinesController::unregisterNamedTimeline):
(WebCore::StyleOriginatedTimelinesController::setTimelineForName):
(WebCore::updateTimelinesForTimelineScope):
(WebCore::StyleOriginatedTimelinesController::updateNamedTimelineMapForTimelineScope):
(WebCore::StyleOriginatedTimelinesController::isPendingTimelineAttachment const):
(WebCore::StyleOriginatedTimelinesController::unregisterNamedTimelinesAssociatedWithElement):
(WebCore::StyleOriginatedTimelinesController::styleableWasRemoved):
* Source/WebCore/animation/StyleOriginatedTimelinesController.h: Copied from Source/WebCore/animation/AnimationTimelinesController.h.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::resolveStyle):
(WebCore::Document::ensureStyleOriginatedTimelinesController):
* Source/WebCore/dom/Document.h:
(WebCore::Document::styleOriginatedTimelinesController):
* Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
* Source/WebCore/style/Styleable.cpp:
(WebCore::Styleable::elementWasRemoved const):
(WebCore::Styleable::cancelStyleOriginatedAnimations const):
(WebCore::Styleable::updateCSSScrollTimelines const):
(WebCore::Styleable::updateCSSViewTimelines const):

Canonical link: https://commits.webkit.org/290462@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list