| Index: Source/core/svg/animation/SVGSMILElement.cpp
|
| diff --git a/Source/core/svg/animation/SVGSMILElement.cpp b/Source/core/svg/animation/SVGSMILElement.cpp
|
| index d9f25d46d145ce2ce42981a9a037d9104de738a4..e583a7be96ed0c4e3f61e079df12b3ed232046ab 100644
|
| --- a/Source/core/svg/animation/SVGSMILElement.cpp
|
| +++ b/Source/core/svg/animation/SVGSMILElement.cpp
|
| @@ -908,7 +908,7 @@ void SVGSMILElement::resolveFirstInterval()
|
| }
|
| }
|
|
|
| -bool SVGSMILElement::resolveNextInterval(bool notifyDependents)
|
| +bool SVGSMILElement::resolveNextInterval()
|
| {
|
| SMILTime begin;
|
| SMILTime end;
|
| @@ -918,8 +918,7 @@ bool SVGSMILElement::resolveNextInterval(bool notifyDependents)
|
| if (!begin.isUnresolved() && begin != m_intervalBegin) {
|
| m_intervalBegin = begin;
|
| m_intervalEnd = end;
|
| - if (notifyDependents)
|
| - notifyDependentsIntervalChanged();
|
| + notifyDependentsIntervalChanged();
|
| m_nextProgressTime = min(m_nextProgressTime, m_intervalBegin);
|
| return true;
|
| }
|
| @@ -1001,7 +1000,7 @@ void SVGSMILElement::checkRestart(SMILTime elapsed)
|
| }
|
|
|
| if (elapsed >= m_intervalEnd)
|
| - resolveNextInterval(true);
|
| + resolveNextInterval();
|
| }
|
|
|
| void SVGSMILElement::seekToIntervalCorrespondingToTime(SMILTime elapsed)
|
| @@ -1023,14 +1022,14 @@ void SVGSMILElement::seekToIntervalCorrespondingToTime(SMILTime elapsed)
|
| if (nextBegin < m_intervalEnd && elapsed >= nextBegin) {
|
| // End current interval, and start a new interval from the 'nextBegin' time.
|
| m_intervalEnd = nextBegin;
|
| - if (!resolveNextInterval(false))
|
| + if (!resolveNextInterval())
|
| break;
|
| continue;
|
| }
|
|
|
| // If the desired 'elapsed' time is past the current interval, advance to the next.
|
| if (elapsed >= m_intervalEnd) {
|
| - if (!resolveNextInterval(false))
|
| + if (!resolveNextInterval())
|
| break;
|
| continue;
|
| }
|
| @@ -1109,6 +1108,9 @@ bool SVGSMILElement::progress(SMILTime elapsed, SVGSMILElement* resultElement, b
|
| ASSERT(m_timeContainer);
|
| ASSERT(m_isWaitingForFirstInterval || m_intervalBegin.isFinite());
|
|
|
| + if (!m_conditionsConnected)
|
| + connectConditions();
|
| +
|
| if (!m_intervalBegin.isFinite()) {
|
| ASSERT(m_activeState == Inactive);
|
| m_nextProgressTime = SMILTime::unresolved();
|
|
|