| Index: Source/core/svg/animation/SVGSMILElement.cpp
|
| diff --git a/Source/core/svg/animation/SVGSMILElement.cpp b/Source/core/svg/animation/SVGSMILElement.cpp
|
| index 20ac8cd39ffdb471d997eb0b5a7583e4c6bd64b5..8e3ee0e6307a00ca144e58e03039f7be48046f80 100644
|
| --- a/Source/core/svg/animation/SVGSMILElement.cpp
|
| +++ b/Source/core/svg/animation/SVGSMILElement.cpp
|
| @@ -1020,7 +1020,7 @@ SVGSMILElement::RestartedInterval SVGSMILElement::maybeRestartInterval(SMILTime
|
| }
|
|
|
| if (elapsed >= m_intervalEnd) {
|
| - if (resolveNextInterval())
|
| + if (resolveNextInterval() && elapsed >= m_intervalBegin)
|
| return DidRestartInterval;
|
| }
|
| return DidNotRestartInterval;
|
| @@ -1197,7 +1197,7 @@ bool SVGSMILElement::progress(SMILTime elapsed, SVGSMILElement* resultElement, b
|
| if ((oldActiveState == Active && m_activeState != Active) || restartedInterval == DidRestartInterval) {
|
| smilEndEventSender().dispatchEventSoon(this);
|
| endedActiveInterval();
|
| - if (restartedInterval == DidNotRestartInterval && m_activeState != Frozen && this == resultElement)
|
| + if (!animationIsContributing && this == resultElement)
|
| clearAnimatedType(m_targetElement);
|
| }
|
|
|
|
|