Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 71e209c557898b92a216b8206bae5a86e1234830 https://github.com/WebKit/WebKit/commit/71e209c557898b92a216b8206bae5a86e1234830 Author: Antoine Quint <grao...@apple.com> Date: 2022-11-24 (Thu, 24 Nov 2022)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt M Source/WebCore/animation/CSSPropertyAnimation.cpp Log Message: ----------- [web-animations] correctly blend transform with iterationComposite is set to "accumulate" https://bugs.webkit.org/show_bug.cgi?id=248312 Reviewed by Antti Koivisto. When animating transform, we pre-compute the number of matching transform operations. However, in the case of `iterationComposite` we end up blending the "to" value with itself multiple times with an accumulation composite operation (per https://drafts.csswg.org/web-animations-2/#the-effect-value-of-a-keyframe-animation-effect). Indeed, when computing the final keyframe, we accumulate the end keyframe onto itself to match the current iteration interval. In that case, since we're blending the same value with itself, the pre-computed matching prefix is incorrect, so we use std::nullopt instead to indicate that the operations fully match. * LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt: * Source/WebCore/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): Canonical link: https://commits.webkit.org/256996@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes