Bug 247895
| Summary: | [web-animations] changing writing-mode or direction on an element that has an animation targeting a logical property should ensure animation resolution is scheduled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Antoine Quint <graouts> |
| Component: | Animations | Assignee: | Antoine Quint <graouts> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | dino, graouts, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar, WebExposed, WPTImpact |
| Version: | Safari Technology Preview | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | |||
| Bug Blocks: | 237331 | ||
Antoine Quint
We are failing this test in web-animations/timing-model/timelines/update-and-send-events-replacement.html:
promise_test(async t => {
const div = createDiv(t);
const animA = div.animate(
{ marginTop: '10px' },
{ duration: 1, fill: 'forwards' }
);
const animB = div.animate(
{ marginInlineStart: '20px' },
{ duration: 1, fill: 'forwards' }
);
await animA.finished;
assert_equals(animA.replaceState, 'active');
assert_equals(animB.replaceState, 'active');
div.style.writingMode = 'vertical-rl';
assert_equals(animA.replaceState, 'active');
assert_equals(animB.replaceState, 'active');
await waitForNextFrame();
assert_equals(animA.replaceState, 'removed');
assert_equals(animB.replaceState, 'active');
}, 'Removes an animation by another animation using logical properties after updating the context');
We fail the second-to-last assertion because we fail to schedule an animation update after changing writing-mode and thus don't run the procedure to remove replaced animations.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Antoine Quint
Pull request: https://github.com/WebKit/WebKit/pull/6475
EWS
Committed 256667@main (1b793da552f7): <https://commits.webkit.org/256667@main>
Reviewed commits have been landed. Closing PR #6475 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/102333310>