Index: Source/core/svg/animation/SVGSMILElement.cpp |
diff --git a/Source/core/svg/animation/SVGSMILElement.cpp b/Source/core/svg/animation/SVGSMILElement.cpp |
index b72117b966a7d7787624fdc5d74c5aedb67c8391..55ba7471277a107c1de29bfa1d1c0c69615a7b73 100644 |
--- a/Source/core/svg/animation/SVGSMILElement.cpp |
+++ b/Source/core/svg/animation/SVGSMILElement.cpp |
@@ -1154,13 +1154,15 @@ bool SVGSMILElement::progress(SMILTime elapsed, SVGSMILElement* resultElement, b |
if (elapsed < m_interval.begin) { |
ASSERT(m_activeState != Active); |
- if (m_activeState == Frozen) { |
+ bool isFrozen = (m_activeState == Frozen); |
+ if (isFrozen) { |
if (this == resultElement) |
resetAnimatedType(); |
updateAnimation(m_lastPercent, m_lastRepeat, resultElement); |
} |
m_nextProgressTime = m_interval.begin; |
- return false; |
+ // If the animation is frozen, it's still contributing. |
+ return isFrozen; |
} |
m_previousIntervalBegin = m_interval.begin; |