From 0d699fb2e40b1481d8a63457dce3c58fa45976a3 Mon Sep 17 00:00:00 2001 From: Liam DeBeasi Date: Fri, 11 Oct 2019 12:49:54 -0400 Subject: [PATCH] perf(animations): do not create setTimeout if infinite iterations (#19632) closes #19627 --- core/src/utils/animation/animation.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/utils/animation/animation.ts b/core/src/utils/animation/animation.ts index 66ba1c9191..4e9e721d9e 100644 --- a/core/src/utils/animation/animation.ts +++ b/core/src/utils/animation/animation.ts @@ -819,7 +819,10 @@ export const createAnimation = (): Animation => { const animationDuration = getDuration() || 0; const animationIterations = getIterations() || 1; - cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + (animationDuration * animationIterations) + ANIMATION_END_FALLBACK_PADDING_MS); + // No need to set a timeout when animation has infinite iterations + if (isFinite(animationIterations)) { + cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + (animationDuration * animationIterations) + ANIMATION_END_FALLBACK_PADDING_MS); + } animationEnd(elements[0], () => { clearCSSAnimationsTimeout();