1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
8 #include <wtf/RefCounted.h>
14 class CCTimeSourceClient
{
16 virtual void onTimerTick() = 0;
19 virtual ~CCTimeSourceClient() { }
22 // An generic interface for getting a reliably-ticking timesource of
25 // Be sure to call setActive(false) before releasing your reference to the
26 // timer, or it will keep on ticking!
27 class CCTimeSource
: public RefCounted
<CCTimeSource
> {
29 virtual ~CCTimeSource() { }
30 virtual void setClient(CCTimeSourceClient
*) = 0;
31 virtual void setActive(bool) = 0;
32 virtual bool active() const = 0;
33 virtual void setTimebaseAndInterval(double timebase
, double intervalSeconds
) = 0;
34 virtual double lastTickTime() = 0;
35 virtual double nextTickTimeIfActivated() = 0;
39 #endif // CCSmoothedTimer_h