fix(animations): always recover from a failed animation step (#13604)

This commit is contained in:
Matias Niemelä
2016-12-21 14:14:45 -08:00
committed by Chuck Jazdzewski
parent eb2ceff4ba
commit 842f52e841
4 changed files with 61 additions and 9 deletions

View File

@ -9,7 +9,7 @@
import {APP_ID, Inject, Injectable, RenderComponentType, Renderer, RootRenderer, ViewEncapsulation} from '@angular/core';
import {isBlank, isPresent, stringify} from '../facade/lang';
import {AnimationKeyframe, AnimationPlayer, AnimationStyles, DirectRenderer, RenderDebugInfo} from '../private_import_core';
import {AnimationKeyframe, AnimationPlayer, AnimationStyles, DirectRenderer, NoOpAnimationPlayer, RenderDebugInfo} from '../private_import_core';
import {AnimationDriver} from './animation_driver';
import {DOCUMENT} from './dom_tokens';
@ -262,8 +262,12 @@ export class DomRenderer implements Renderer {
element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[],
duration: number, delay: number, easing: string,
previousPlayers: AnimationPlayer[] = []): AnimationPlayer {
return this._animationDriver.animate(
element, startingStyles, keyframes, duration, delay, easing, previousPlayers);
try {
return this._animationDriver.animate(
element, startingStyles, keyframes, duration, delay, easing, previousPlayers);
} catch (e) {
return new NoOpAnimationPlayer();
}
}
}