- From: Antoine Quint via GitHub <sysbot+gh@w3.org>
- Date: Mon, 02 Dec 2019 15:12:15 +0000
- To: public-css-archive@w3.org
graouts has just created a new issue for https://github.com/w3c/csswg-drafts: == [web-animations-1] == The test [timing-model/timelines/update-and-send-events.html](https://github.com/web-platform-tests/wpt/blob/master/web-animations/timing-model/timelines/update-and-send-events.html) has this sub-test: ```javascript promise_test(async t => { createStyle(t, { '@keyframes anim': '' }); const div = createDiv(t); let receivedEvents = []; function receiveEvent(type, timeStamp) { receivedEvents.push({ type, timeStamp }); } div.onanimationcancel = event => receiveEvent(event.type, event.timeStamp); div.ontransitioncancel = event => receiveEvent(event.type, event.timeStamp); getComputedStyle(div).marginLeft; div.style = 'animation: anim 100s; ' + 'transition: margin-left 100s; ' + 'margin-left: 100px;'; div.animate(null, 100 * MS_PER_SEC); const animations = div.getAnimations(); animations.forEach(anim => { anim.oncancel = event => { receiveEvent(animationType(anim) + ':' + event.type, event.timeStamp); }; }); await Promise.all(animations.map(anim => anim.ready)); const timeInAnimationReady = document.timeline.currentTime; // Call cancel() in reverse composite order. I.e. canceling for script // animation happen first, then for CSS animation and CSS transition. // 'cancel' events for these animations should be sorted by composite // order. animations.reverse().forEach(anim => anim.cancel()); // requestAnimationFrame callback which is actually the _same_ frame since we // are currently operating in the `ready` callbac of the animations which // happens as part of the "Update animations and send events" procedure // _before_ we run animation frame callbacks. await waitForAnimationFrames(1); assert_times_equal(timeInAnimationReady, document.timeline.currentTime, 'A rAF callback should happen in the same frame'); assert_array_equals(receivedEvents.map(event => event.type), // This ordering needs more clarification in the spec, but the intention is // that the cancel playback event fires before the equivalent CSS cancel // event in each case. [ 'CSSTransition:cancel', 'CSSAnimation:cancel', 'ScriptAnimation:cancel', 'transitioncancel', 'animationcancel' ], 'cancel events should be sorted by composite order'); }, 'Sorts cancel events by composite order'); ``` This issue is about this comment: ```javascript // This ordering needs more clarification in the spec, but the intention is // that the cancel playback event fires before the equivalent CSS cancel // event in each case. ``` I don't see any text in the Web Animations spec or the CSS Transitions and CSS Animations specs that specifies that, if I understand correctly, events of type `AnimationPlaybackEvent` sort before events of type `TransitionEvent` or `AnimationEvent`. If that's the intention, we should make that clear. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4553 using your GitHub account
Received on Monday, 2 December 2019 15:12:17 UTC