Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b782138edb7f3058d4a9b7a38a2439db6cd7c7bf https://github.com/WebKit/WebKit/commit/b782138edb7f3058d4a9b7a38a2439db6cd7c7bf Author: Antoine Quint <grao...@webkit.org> Date: 2024-08-29 (Thu, 29 Aug 2024)
Changed paths: M LayoutTests/TestExpectations M Source/WebCore/animation/AnimationEffect.cpp M Source/WebCore/animation/AnimationEffectTiming.cpp M Source/WebCore/animation/AnimationEffectTiming.h M Source/WebCore/animation/ComputedEffectTiming.h M Source/WebCore/animation/KeyframeEffect.cpp M Source/WebCore/animation/KeyframeEffect.h M Source/WebCore/animation/KeyframeInterpolation.cpp M Source/WebCore/animation/KeyframeInterpolation.h M Source/WebCore/platform/animation/AcceleratedEffect.cpp M Source/WebCore/platform/animation/TimingFunction.cpp M Source/WebCore/platform/animation/TimingFunction.h Log Message: ----------- [css-animations] css/css-animations/jump-start-animation-before-phase.html is a failure https://bugs.webkit.org/show_bug.cgi?id=278855 Reviewed by Simon Fraser. The `steps()` easing takes a "before" flag [0] that we only passed when calling `TimingFunction::transformProgress()` when resolving the overall effect progress in `AnimationEffectTiming::resolve()`. But a `steps()` easing may be specified for a given keyframe interval, and as such the `TimingFunction::transformProgress()` call site in `KeyframeInterpolation::interpolateKeyframes()` needs to pass that flag in as well. We now expose that flag through `ResolvedEffectTiming` and `ComputedEffectTiming` such that we may ultimately pass it over to the appropriate method both in the non-accelerated codepath (`KeyframeEffect::setAnimatedPropertiesInStyle()`) and the accelerated codepath (`AcceleratedEffect::apply()`). This makes the recently-added WPT test `css/css-animations/jump-start-animation-before-phase.html` pass since it used a `steps(1, jump-start)` easing in the before phase of a CSS Animation. [0] https://www.w3.org/TR/css-easing-1/#before-flag * LayoutTests/TestExpectations: * Source/WebCore/animation/AnimationEffect.cpp: (WebCore::AnimationEffect::getComputedTiming const): * Source/WebCore/animation/AnimationEffectTiming.cpp: (WebCore::AnimationEffectTiming::resolve const): * Source/WebCore/animation/AnimationEffectTiming.h: * Source/WebCore/animation/ComputedEffectTiming.h: * Source/WebCore/animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::apply): (WebCore::KeyframeEffect::getAnimatedStyle): (WebCore::KeyframeEffect::setAnimatedPropertiesInStyle): (WebCore::KeyframeEffect::applyPendingAcceleratedActions): * Source/WebCore/animation/KeyframeEffect.h: * Source/WebCore/animation/KeyframeInterpolation.cpp: (WebCore::KeyframeInterpolation::interpolateKeyframes const): * Source/WebCore/animation/KeyframeInterpolation.h: * Source/WebCore/platform/animation/AcceleratedEffect.cpp: (WebCore::AcceleratedEffect::apply): * Source/WebCore/platform/animation/TimingFunction.cpp: (WebCore::TimingFunction::transformProgress const): * Source/WebCore/platform/animation/TimingFunction.h: Canonical link: https://commits.webkit.org/282933@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes