[csswg-drafts] [web-animations-1] Does an exception thrown by the call to play() be propagated up in reverse()?

graouts has just created a new issue for https://github.com/w3c/csswg-drafts:

== [web-animations-1] Does an exception thrown by the call to play() be propagated up in reverse()? ==
In the procedure to [reverse an animation](https://drafts.csswg.org/web-animations-1/#reverse-an-animation), step 3 is defined as follows:

> Run the steps to play an animation for animation with the auto-rewind flag set to true.
>
> If the steps to play an animation throw an exception, restore the original playback rate by re-running > the procedure to silently set the playback rate with the original playback rate.

Does this mean that the exception needs to be propagated as well? That's not my reading, but this test in reversing-an-animation.html makes it sound like it should:

```javascript
test(t => {
  const div = createDiv(t);
  const animation = div.animate({}, { duration: 100 * MS_PER_SEC,
                                      iterations: Infinity });
  animation.currentTime = -200 * MS_PER_SEC;

  assert_throws('InvalidStateError',
    () => { animation.reverse(); },
    'reverse() should throw InvalidStateError ' +
    'if the playbackRate > 0 and the currentTime < 0 ' +
    'and the target effect is positive infinity');
}, 'Reversing an animation when playbackRate > 0 and currentTime < 0 ' +
   'and the target effect end is positive infinity should throw an exception');
```

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2226 using your GitHub account

Received on Thursday, 25 January 2018 18:54:54 UTC