| 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
|
|
|
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.