Automatic update from web-platform-tests
Fix type confusion in iteration accumulation and align order
InvalidatableInterpolation::ApplyIterationAccumulation previously
checked only that the start and end keyframes shared the same
InterpolationType. However, even within the same InterpolationType, the
underlying concrete InterpolableValue subclasses or structures can be
incompatible (e.g., clip rect lists vs. empty auto lists, or
incompatible calc-size bases).
This patch makes the following fixes and improvements:
1. Uses MaybeMergeSingles inside ApplyIterationAccumulation to deeply
verify and coerce value compatibility before accumulating.
Per Web Animations Level 2, if values cannot be merged or
accumulated, accumulation is skipped and the current iteration
value is used.
2. Computes V_final * N + V_current, aligning the left-to-right AST
operand order for complex math expressions with other
browser implementations.
Bug: 495021566
Change-Id: I272fa8ac7a7b6b627d18ad7d43553ccb306436eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8040362
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1657198}
--
wpt-commits: ae656ee164701f351a0850eedda4c5d255418179
wpt-pr: 61087