Open
Description
The procedure to convert a time-based animation to a proportional animation has the following sub-step:
Let total time be equal to end time
… and then several steps after that where we divide values by total time. However, total time may be 0, for instance if the specified delay is the negative value of the specified iteration duration, as is the case in the WPT test scroll-animations/scroll-timelines/effect-updateTiming.html:
test(t => {
const anim = createScrollLinkedAnimationWithTiming(t, {duration: 100, delay: -100})
anim.play();
anim.effect.updateTiming({ delay: -100 });
assert_equals(anim.effect.getTiming().delay, -100, 'set delay -100');
assert_equals(anim.effect.getComputedTiming().delay, -100,
'getComputedTiming() after set delay -100');
assert_percents_equal(anim.effect.getComputedTiming().endTime, 0,
'getComputedTiming().endTime after set delay -100');
}, 'Allows setting the delay to a negative number');
The spec needs a provision for computing the start delay, end delay and iteration duration in this case.