summaryrefslogtreecommitdiffstats
path: root/cc/timer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc/timer.cc')
-rw-r--r--cc/timer.cc81
1 files changed, 0 insertions, 81 deletions
diff --git a/cc/timer.cc b/cc/timer.cc
deleted file mode 100644
index 364020d..0000000
--- a/cc/timer.cc
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "config.h"
-
-#include "cc/timer.h"
-
-#include "base/compiler_specific.h"
-#include "base/logging.h"
-#include "cc/thread.h"
-
-namespace cc {
-
-class TimerTask : public Thread::Task {
-public:
- explicit TimerTask(Timer* timer)
- : Thread::Task(0)
- , m_timer(timer)
- {
- }
-
- virtual ~TimerTask()
- {
- if (!m_timer)
- return;
-
- DCHECK(m_timer->m_task == this);
- m_timer->stop();
- }
-
- virtual void performTask() OVERRIDE
- {
- if (!m_timer)
- return;
-
- TimerClient* client = m_timer->m_client;
-
- m_timer->stop();
- if (client)
- client->onTimerFired();
- }
-
-private:
- friend class Timer;
-
- Timer* m_timer; // null if cancelled
-};
-
-Timer::Timer(Thread* thread, TimerClient* client)
- : m_client(client)
- , m_thread(thread)
- , m_task(0)
-{
-}
-
-Timer::~Timer()
-{
- stop();
-}
-
-void Timer::startOneShot(double intervalSeconds)
-{
- stop();
-
- m_task = new TimerTask(this);
-
- // The thread expects delays in milliseconds.
- m_thread->postDelayedTask(adoptPtr(m_task), intervalSeconds * 1000.0);
-}
-
-void Timer::stop()
-{
- if (!m_task)
- return;
-
- m_task->m_timer = 0;
- m_task = 0;
-}
-
-} // namespace cc