[webkit-changes] [WebKit/WebKit] e3d89d: [web-animations] add a dedicated timeline object f...

Antoine Quint noreply at github.com
Fri Mar 3 12:02:25 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e3d89dcbb53baaa501b9adbcf1ce470b2e176412
      https://github.com/WebKit/WebKit/commit/e3d89dcbb53baaa501b9adbcf1ce470b2e176412
  Author: Antoine Quint <graouts at webkit.org>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/animation/AcceleratedTimeline.cpp
    A Source/WebCore/animation/AcceleratedTimeline.h
    M Source/WebCore/animation/DocumentTimeline.cpp
    M Source/WebCore/animation/KeyframeEffect.cpp
    M Source/WebCore/animation/KeyframeEffect.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h

  Log Message:
  -----------
  [web-animations] add a dedicated timeline object for accelerated effects
https://bugs.webkit.org/show_bug.cgi?id=253312

Reviewed by Dean Jackson.

Add a new AcceleratedTimeline class on which elements targeted by effects animating
accelerated properties are registered. Then as the document's timeline is updated,
we go through these registered elements and update the accelerated effect stack for
them through their RenderLayerBacking.

* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/AcceleratedTimeline.cpp: Added.
(WebCore::AcceleratedTimeline::AcceleratedTimeline):
(WebCore::AcceleratedTimeline::updateEffectStacks):
(WebCore::AcceleratedTimeline::updateEffectStackForTarget):
* Source/WebCore/animation/AcceleratedTimeline.h: Added.
(WebCore::AcceleratedTimeline::timeOrigin const):
* Source/WebCore/animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::applyPendingAcceleratedAnimations):
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::updateAssociatedThreadedEffectStack):
* Source/WebCore/animation/KeyframeEffect.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::acceleratedTimeline):
* Source/WebCore/dom/Document.h:
(WebCore::Document::existingAcceleratedTimeline const):

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




More information about the webkit-changes mailing list