Bug 247884

Summary: [css-transitions] setting transition-property to "none" does not disassociate CSS Transition from owning element
Product: WebKit Reporter: Antoine Quint <graouts>
Component: AnimationsAssignee: Antoine Quint <graouts>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, graouts, koivisto, 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
Reported 2022-11-14 02:31:21 PST
We are failing a subtest in web-animations/timing-model/timelines/update-and-send-events-replacement.html: promise_test(async t => { // Setup transition const div = createDiv(t); div.style.opacity = '0'; div.style.transition = 'opacity 1ms'; getComputedStyle(div).opacity; div.style.opacity = '1'; const cssTransition = div.getAnimations()[0]; cssTransition.effect.updateTiming({ fill: 'forwards' }); // Break tie to markup div.style.transitionProperty = 'none'; assert_equals(cssTransition.playState, 'idle'); // Restart transition cssTransition.play(); const scriptAnimation = div.animate( { opacity: 1 }, { duration: 1, fill: 'forwards', } ); await scriptAnimation.finished; assert_equals(cssTransition.replaceState, 'removed'); assert_equals(scriptAnimation.replaceState, 'active'); }, 'Removes a CSS transition no longer tied to markup'); We fail the second-to-last assertion because we do not correctly disassociate a CSS Transition from its owning element when transition-property is set to "none" and thus do not mark that transition as replaceable.
Attachments
Antoine Quint
Comment 1 2022-11-14 02:43:47 PST
EWS
Comment 2 2022-11-14 12:26:22 PST
Committed 256666@main (7821448df0f4): <https://commits.webkit.org/256666@main> Reviewed commits have been landed. Closing PR #6465 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2022-11-14 12:27:21 PST
Note You need to log in before you can comment on or make changes to this bug.