Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: cc/CCDelayBasedTimeSource.cpp

Issue 10947047: Fix remaining cc files to compile with Clang (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix FakeCCDelayBasedTimeSource Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/CCDelayBasedTimeSource.h ('k') | cc/CCDelegatedRendererLayerImpl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "CCDelayBasedTimeSource.h" 7 #include "CCDelayBasedTimeSource.h"
8 8
9 #include "TraceEvent.h" 9 #include "TraceEvent.h"
10 #include <algorithm> 10 #include <algorithm>
(...skipping 27 matching lines...) Expand all
38 : m_client(0) 38 : m_client(0)
39 , m_hasTickTarget(false) 39 , m_hasTickTarget(false)
40 , m_currentParameters(interval, base::TimeTicks()) 40 , m_currentParameters(interval, base::TimeTicks())
41 , m_nextParameters(interval, base::TimeTicks()) 41 , m_nextParameters(interval, base::TimeTicks())
42 , m_state(STATE_INACTIVE) 42 , m_state(STATE_INACTIVE)
43 , m_timer(thread, this) 43 , m_timer(thread, this)
44 { 44 {
45 turnOffVerifier(); 45 turnOffVerifier();
46 } 46 }
47 47
48 CCDelayBasedTimeSource::~CCDelayBasedTimeSource()
49 {
50 }
51
48 void CCDelayBasedTimeSource::setActive(bool active) 52 void CCDelayBasedTimeSource::setActive(bool active)
49 { 53 {
50 TRACE_EVENT1("cc", "CCDelayBasedTimeSource::setActive", "active", active); 54 TRACE_EVENT1("cc", "CCDelayBasedTimeSource::setActive", "active", active);
51 if (!active) { 55 if (!active) {
52 m_state = STATE_INACTIVE; 56 m_state = STATE_INACTIVE;
53 m_timer.stop(); 57 m_timer.stop();
54 return; 58 return;
55 } 59 }
56 60
57 if (m_state == STATE_STARTING || m_state == STATE_ACTIVE) 61 if (m_state == STATE_STARTING || m_state == STATE_ACTIVE)
58 return; 62 return;
59 63
60 if (!m_hasTickTarget) { 64 if (!m_hasTickTarget) {
61 // Becoming active the first time is deferred: we post a 0-delay task. W hen 65 // Becoming active the first time is deferred: we post a 0-delay task. W hen
62 // it runs, we use that to establish the timebase, become truly active, and 66 // it runs, we use that to establish the timebase, become truly active, and
63 // fire the first tick. 67 // fire the first tick.
64 m_state = STATE_STARTING; 68 m_state = STATE_STARTING;
65 m_timer.startOneShot(0); 69 m_timer.startOneShot(0);
66 return; 70 return;
67 } 71 }
68 72
69 m_state = STATE_ACTIVE; 73 m_state = STATE_ACTIVE;
70 74
71 postNextTickTask(now()); 75 postNextTickTask(now());
72 } 76 }
73 77
78 bool CCDelayBasedTimeSource::active() const
79 {
80 return m_state != STATE_INACTIVE;
81 }
82
74 base::TimeTicks CCDelayBasedTimeSource::lastTickTime() 83 base::TimeTicks CCDelayBasedTimeSource::lastTickTime()
75 { 84 {
76 return m_lastTickTime; 85 return m_lastTickTime;
77 } 86 }
78 87
79 base::TimeTicks CCDelayBasedTimeSource::nextTickTimeIfActivated() 88 base::TimeTicks CCDelayBasedTimeSource::nextTickTimeIfActivated()
80 { 89 {
81 return active() ? m_currentParameters.tickTarget : nextTickTarget(now()); 90 return active() ? m_currentParameters.tickTarget : nextTickTarget(now());
82 } 91 }
83 92
84 void CCDelayBasedTimeSource::onTimerFired() 93 void CCDelayBasedTimeSource::onTimerFired()
85 { 94 {
86 ASSERT(m_state != STATE_INACTIVE); 95 ASSERT(m_state != STATE_INACTIVE);
87 96
88 base::TimeTicks now = this->now(); 97 base::TimeTicks now = this->now();
89 m_lastTickTime = now; 98 m_lastTickTime = now;
90 99
91 if (m_state == STATE_STARTING) { 100 if (m_state == STATE_STARTING) {
92 setTimebaseAndInterval(now, m_currentParameters.interval); 101 setTimebaseAndInterval(now, m_currentParameters.interval);
93 m_state = STATE_ACTIVE; 102 m_state = STATE_ACTIVE;
94 } 103 }
95 104
96 postNextTickTask(now); 105 postNextTickTask(now);
97 106
98 // Fire the tick 107 // Fire the tick
99 if (m_client) 108 if (m_client)
100 m_client->onTimerTick(); 109 m_client->onTimerTick();
101 } 110 }
102 111
112 void CCDelayBasedTimeSource::setClient(CCTimeSourceClient* client)
113 {
114 m_client = client;
115 }
116
103 void CCDelayBasedTimeSource::setTimebaseAndInterval(base::TimeTicks timebase, ba se::TimeDelta interval) 117 void CCDelayBasedTimeSource::setTimebaseAndInterval(base::TimeTicks timebase, ba se::TimeDelta interval)
104 { 118 {
105 m_nextParameters.interval = interval; 119 m_nextParameters.interval = interval;
106 m_nextParameters.tickTarget = timebase; 120 m_nextParameters.tickTarget = timebase;
107 m_hasTickTarget = true; 121 m_hasTickTarget = true;
108 122
109 if (m_state != STATE_ACTIVE) { 123 if (m_state != STATE_ACTIVE) {
110 // If we aren't active, there's no need to reset the timer. 124 // If we aren't active, there's no need to reset the timer.
111 return; 125 return;
112 } 126 }
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 base::TimeDelta delay = newTickTarget - now; 223 base::TimeDelta delay = newTickTarget - now;
210 ASSERT(delay.InMillisecondsF() <= 224 ASSERT(delay.InMillisecondsF() <=
211 m_nextParameters.interval.InMillisecondsF() * (1.0 + doubleTickThresh old)); 225 m_nextParameters.interval.InMillisecondsF() * (1.0 + doubleTickThresh old));
212 m_timer.startOneShot(delay.InSecondsF()); 226 m_timer.startOneShot(delay.InSecondsF());
213 227
214 m_nextParameters.tickTarget = newTickTarget; 228 m_nextParameters.tickTarget = newTickTarget;
215 m_currentParameters = m_nextParameters; 229 m_currentParameters = m_nextParameters;
216 } 230 }
217 231
218 } 232 }
OLDNEW
« no previous file with comments | « cc/CCDelayBasedTimeSource.h ('k') | cc/CCDelegatedRendererLayerImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698