| OLD | NEW |
| 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 "CCScheduler.h" | 7 #include "CCScheduler.h" |
| 8 | 8 |
| 9 #include "TraceEvent.h" | 9 #include "TraceEvent.h" |
| 10 #include <base/auto_reset.h> | 10 #include <base/auto_reset.h> |
| 11 | 11 |
| 12 namespace cc { | 12 namespace cc { |
| 13 | 13 |
| 14 CCScheduler::CCScheduler(CCSchedulerClient* client, PassOwnPtr<CCFrameRateContro
ller> frameRateController) | 14 CCScheduler::CCScheduler(CCSchedulerClient* client, PassOwnPtr<CCFrameRateContro
ller> frameRateController) |
| 15 : m_client(client) | 15 : m_client(client) |
| 16 , m_frameRateController(frameRateController) | 16 , m_frameRateController(frameRateController) |
| 17 , m_insideProcessScheduledActions(false) | 17 , m_insideProcessScheduledActions(false) |
| 18 { | 18 { |
| 19 ASSERT(m_client); | 19 ASSERT(m_client); |
| 20 m_frameRateController->setClient(this); | 20 m_frameRateController->setClient(this); |
| 21 ASSERT(!m_stateMachine.vsyncCallbackNeeded()); | 21 ASSERT(!m_stateMachine.vsyncCallbackNeeded()); |
| 22 } | 22 } |
| 23 | 23 |
| 24 CCScheduler::~CCScheduler() | 24 CCScheduler::~CCScheduler() |
| 25 { | 25 { |
| 26 m_frameRateController->setActive(false); | 26 m_frameRateController->setActive(false, false); |
| 27 } | 27 } |
| 28 | 28 |
| 29 void CCScheduler::setCanBeginFrame(bool can) | 29 void CCScheduler::setCanBeginFrame(bool can) |
| 30 { | 30 { |
| 31 m_stateMachine.setCanBeginFrame(can); | 31 m_stateMachine.setCanBeginFrame(can); |
| 32 processScheduledActions(); | 32 processScheduledActions(); |
| 33 } | 33 } |
| 34 | 34 |
| 35 void CCScheduler::setVisible(bool visible) | 35 void CCScheduler::setVisible(bool visible) |
| 36 { | 36 { |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 m_client->scheduledActionBeginContextRecreation(); | 178 m_client->scheduledActionBeginContextRecreation(); |
| 179 break; | 179 break; |
| 180 case CCSchedulerStateMachine::ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THR
EAD: | 180 case CCSchedulerStateMachine::ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THR
EAD: |
| 181 m_client->scheduledActionAcquireLayerTexturesForMainThread(); | 181 m_client->scheduledActionAcquireLayerTexturesForMainThread(); |
| 182 break; | 182 break; |
| 183 } | 183 } |
| 184 action = m_stateMachine.nextAction(); | 184 action = m_stateMachine.nextAction(); |
| 185 } | 185 } |
| 186 | 186 |
| 187 // Activate or deactivate the frame rate controller. | 187 // Activate or deactivate the frame rate controller. |
| 188 m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded()); | 188 m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded(), |
| 189 m_stateMachine.commitPending()); |
| 189 m_client->didAnticipatedDrawTimeChange(m_frameRateController->nextTickTime()
); | 190 m_client->didAnticipatedDrawTimeChange(m_frameRateController->nextTickTime()
); |
| 190 } | 191 } |
| 191 | 192 |
| 193 void CCScheduler::renderingStats(CCRenderingStats* stats) const |
| 194 { |
| 195 m_frameRateController->renderingStats(stats); |
| 192 } | 196 } |
| 197 |
| 198 } |
| OLD | NEW |