[webkit-changes] [WebKit/WebKit] 71e209: [web-animations] correctly blend transform with it...
Antoine Quint
noreply at github.com
Thu Nov 24 13:06:22 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 71e209c557898b92a216b8206bae5a86e1234830
https://github.com/WebKit/WebKit/commit/71e209c557898b92a216b8206bae5a86e1234830
Author: Antoine Quint <graouts at 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
More information about the webkit-changes
mailing list