Bug 1343589 - Restore the playbackRate when reverse() throws. r=hiro

MozReview-Commit-ID: FNIZK9yQWyV

--HG--
extra : rebase_source : 32cdcc52ccd8192addc0ed2239f74eb109970597
This commit is contained in:
Brian Birtles 2017-03-28 14:51:51 +09:00
Родитель 358f455741
Коммит 09cda43419
2 изменённых файлов: 7 добавлений и 5 удалений

Просмотреть файл

@ -536,6 +536,13 @@ Animation::Reverse(ErrorResult& aRv)
SilentlySetPlaybackRate(-mPlaybackRate);
Play(aRv, LimitBehavior::AutoRewind);
// If Play() threw, restore state and don't report anything to mutation
// observers.
if (aRv.Failed()) {
SilentlySetPlaybackRate(-mPlaybackRate);
return;
}
if (IsRelevant()) {
nsNodeUtils::AnimationChanged(this);
}

Просмотреть файл

@ -1,5 +0,0 @@
[reversing-an-animation.html]
type: testharness
[When reversing throws an exception, the playback rate remains unchanged]
expected: FAIL
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1343589