At the moment, running a CSS transition will yield these calls to AnimationEffect::getBasicTiming() and AnimationEffect::getComputedTiming(): >>>>> DocumentTimeline::updateAnimationsAndSendEvents() getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000. getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000. getBasicTiming() in WebAnimation::computeRelevance(), localTime is 0.017000. getBasicTiming() in AnimationEffect::getComputedTiming(), localTime is 0.017000. getComputedTiming() in DeclarativeAnimation::invalidateDOMEvents(), localTime is 17.000000. getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000. getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000. <<<<< DocumentTimeline::updateAnimationsAndSendEvents() >>>>> TreeResolver::createAnimatedElementUpdate() getBasicTiming() in AnimationEffect::getComputedTiming(), localTime is 0.017000. getComputedTiming() in KeyframeEffect::apply(), localTime is 17.000000. <<<<< TreeResolver::createAnimatedElementUpdate() getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000. getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000. >>>>> DocumentTimeline::updateAnimationsAndSendEvents() Ideally, we should reduce this to a single call to getBasicTiming() and getComputedTiming().
<rdar://problem/56708602>
I no longer think it makes sense or that it is feasible to do this.