| Index: Source/WebCore/page/SuspendableTimer.cpp
|
| ===================================================================
|
| --- Source/WebCore/page/SuspendableTimer.cpp (revision 77575)
|
| +++ Source/WebCore/page/SuspendableTimer.cpp (working copy)
|
| @@ -36,6 +36,7 @@
|
| , m_nextFireInterval(0)
|
| , m_repeatInterval(0)
|
| #if !ASSERT_DISABLED
|
| + , m_active(false)
|
| , m_suspended(false)
|
| #endif
|
| {
|
| @@ -61,9 +62,12 @@
|
| ASSERT(!m_suspended);
|
| m_suspended = true;
|
| #endif
|
| - m_nextFireInterval = nextFireInterval();
|
| - m_repeatInterval = repeatInterval();
|
| - TimerBase::stop();
|
| + m_active = isActive();
|
| + if (m_active) {
|
| + m_nextFireInterval = nextFireInterval();
|
| + m_repeatInterval = repeatInterval();
|
| + TimerBase::stop();
|
| + }
|
| }
|
|
|
| void SuspendableTimer::resume()
|
| @@ -72,7 +76,8 @@
|
| ASSERT(m_suspended);
|
| m_suspended = false;
|
| #endif
|
| - start(m_nextFireInterval, m_repeatInterval);
|
| + if (m_active)
|
| + start(m_nextFireInterval, m_repeatInterval);
|
| }
|
|
|
| bool SuspendableTimer::canSuspend() const
|
|
|