Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6e1a4631f5a8234497d346e367a31df3a29fcd23 https://github.com/WebKit/WebKit/commit/6e1a4631f5a8234497d346e367a31df3a29fcd23 Author: Antoine Quint <grao...@webkit.org> Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths: M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/animation/WebAnimationTypes.h M Source/WebCore/platform/animation/AcceleratedEffect.cpp M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp M Source/WebCore/platform/animation/AcceleratedEffectValues.h M Source/WebCore/platform/animation/AnimationUtilities.h M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/MotionPath.h M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: ----------- [threaded-animation-resolution] add support for CSS Motion Path properties https://bugs.webkit.org/show_bug.cgi?id=269503 Reviewed by Dean Jackson. With threaded animation resolution we can now add support for accelerated interpolation of CSS Motion Path properties, the `offset` shorthand and its longhands. To do this, we need to add two new members to `AcceleratedEffectValues`: std::optional<TransformOperationData> transformOperationData; TransformBox transformBox; These two new members are required to be able to call into an alternate version of the `MotionPath::applyMotionPathTransform()` method which works without a RenderStyle, but rather using individual properties read from RenderStyle. We also adjust the `AcceleratedEffectValues` constructor to take in a renderer to be able to set up those two new members. This also required a small refactor related to `BlendingContext` since we need to be able to adjust the context for discrete interpolation in the case of the `offset-rotate` property which has an ASSERT() to check we only call its blending function for a discrete interpolation if the context reflects that. * Source/WebCore/animation/CSSPropertyAnimation.cpp: (WebCore::blendStandardProperty): * Source/WebCore/animation/WebAnimationTypes.h: * Source/WebCore/platform/animation/AcceleratedEffect.cpp: (WebCore::blend): (WebCore::AcceleratedEffect::apply): (WebCore::AcceleratedEffect::animatesTransformRelatedProperty const): * Source/WebCore/platform/animation/AcceleratedEffectValues.cpp: (WebCore::AcceleratedEffectValues::AcceleratedEffectValues): (WebCore::AcceleratedEffectValues::clone const): (WebCore::AcceleratedEffectValues::computedTransformationMatrix const): * Source/WebCore/platform/animation/AcceleratedEffectValues.h: (WebCore::AcceleratedEffectValues::AcceleratedEffectValues): * Source/WebCore/platform/animation/AnimationUtilities.h: (WebCore::BlendingContext::normalizeProgress): * Source/WebCore/rendering/MotionPath.cpp: (WebCore::MotionPath::applyMotionPathTransform): * Source/WebCore/rendering/MotionPath.h: * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAcceleratedEffectsAndBaseValues): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/274803@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes