Skip to content

[web-animations-2] procedure to convert a time-based animation to a proportional animation might yield a division by 0 #11276

Open
@graouts

Description

@graouts

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions