| Index: cc/CCScheduler.cpp
|
| diff --git a/cc/CCScheduler.cpp b/cc/CCScheduler.cpp
|
| deleted file mode 100644
|
| index 869cd19210f2fa4159e8d1e059b264ac5737b0c8..0000000000000000000000000000000000000000
|
| --- a/cc/CCScheduler.cpp
|
| +++ /dev/null
|
| @@ -1,192 +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 "CCScheduler.h"
|
| -
|
| -#include "TraceEvent.h"
|
| -#include <base/auto_reset.h>
|
| -
|
| -namespace cc {
|
| -
|
| -CCScheduler::CCScheduler(CCSchedulerClient* client, scoped_ptr<CCFrameRateController> frameRateController)
|
| - : m_client(client)
|
| - , m_frameRateController(frameRateController.Pass())
|
| - , m_insideProcessScheduledActions(false)
|
| -{
|
| - ASSERT(m_client);
|
| - m_frameRateController->setClient(this);
|
| - ASSERT(!m_stateMachine.vsyncCallbackNeeded());
|
| -}
|
| -
|
| -CCScheduler::~CCScheduler()
|
| -{
|
| - m_frameRateController->setActive(false);
|
| -}
|
| -
|
| -void CCScheduler::setCanBeginFrame(bool can)
|
| -{
|
| - m_stateMachine.setCanBeginFrame(can);
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setVisible(bool visible)
|
| -{
|
| - m_stateMachine.setVisible(visible);
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setCanDraw(bool canDraw)
|
| -{
|
| - m_stateMachine.setCanDraw(canDraw);
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setNeedsCommit()
|
| -{
|
| - m_stateMachine.setNeedsCommit();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setNeedsForcedCommit()
|
| -{
|
| - m_stateMachine.setNeedsForcedCommit();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setNeedsRedraw()
|
| -{
|
| - m_stateMachine.setNeedsRedraw();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setNeedsForcedRedraw()
|
| -{
|
| - m_stateMachine.setNeedsForcedRedraw();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setMainThreadNeedsLayerTextures()
|
| -{
|
| - m_stateMachine.setMainThreadNeedsLayerTextures();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::beginFrameComplete()
|
| -{
|
| - TRACE_EVENT0("cc", "CCScheduler::beginFrameComplete");
|
| - m_stateMachine.beginFrameComplete();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::beginFrameAborted()
|
| -{
|
| - TRACE_EVENT0("cc", "CCScheduler::beginFrameAborted");
|
| - m_stateMachine.beginFrameAborted();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setMaxFramesPending(int maxFramesPending)
|
| -{
|
| - m_frameRateController->setMaxFramesPending(maxFramesPending);
|
| -}
|
| -
|
| -void CCScheduler::setSwapBuffersCompleteSupported(bool supported)
|
| -{
|
| - m_frameRateController->setSwapBuffersCompleteSupported(supported);
|
| -}
|
| -
|
| -void CCScheduler::didSwapBuffersComplete()
|
| -{
|
| - TRACE_EVENT0("cc", "CCScheduler::didSwapBuffersComplete");
|
| - m_frameRateController->didFinishFrame();
|
| -}
|
| -
|
| -void CCScheduler::didLoseContext()
|
| -{
|
| - TRACE_EVENT0("cc", "CCScheduler::didLoseContext");
|
| - m_frameRateController->didAbortAllPendingFrames();
|
| - m_stateMachine.didLoseContext();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::didRecreateContext()
|
| -{
|
| - TRACE_EVENT0("cc", "CCScheduler::didRecreateContext");
|
| - m_stateMachine.didRecreateContext();
|
| - processScheduledActions();
|
| -}
|
| -
|
| -void CCScheduler::setTimebaseAndInterval(base::TimeTicks timebase, base::TimeDelta interval)
|
| -{
|
| - m_frameRateController->setTimebaseAndInterval(timebase, interval);
|
| -}
|
| -
|
| -base::TimeTicks CCScheduler::anticipatedDrawTime()
|
| -{
|
| - return m_frameRateController->nextTickTime();
|
| -}
|
| -
|
| -void CCScheduler::vsyncTick(bool throttled)
|
| -{
|
| - TRACE_EVENT1("cc", "CCScheduler::vsyncTick", "throttled", throttled);
|
| - if (!throttled)
|
| - m_stateMachine.didEnterVSync();
|
| - processScheduledActions();
|
| - if (!throttled)
|
| - m_stateMachine.didLeaveVSync();
|
| -}
|
| -
|
| -void CCScheduler::processScheduledActions()
|
| -{
|
| - // We do not allow processScheduledActions to be recursive.
|
| - // The top-level call will iteratively execute the next action for us anyway.
|
| - if (m_insideProcessScheduledActions)
|
| - return;
|
| -
|
| - AutoReset<bool> markInside(&m_insideProcessScheduledActions, true);
|
| -
|
| - CCSchedulerStateMachine::Action action = m_stateMachine.nextAction();
|
| - while (action != CCSchedulerStateMachine::ACTION_NONE) {
|
| - m_stateMachine.updateState(action);
|
| - TRACE_EVENT1("cc", "CCScheduler::processScheduledActions()", "action", action);
|
| -
|
| - switch (action) {
|
| - case CCSchedulerStateMachine::ACTION_NONE:
|
| - break;
|
| - case CCSchedulerStateMachine::ACTION_BEGIN_FRAME:
|
| - m_client->scheduledActionBeginFrame();
|
| - break;
|
| - case CCSchedulerStateMachine::ACTION_COMMIT:
|
| - m_client->scheduledActionCommit();
|
| - break;
|
| - case CCSchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE: {
|
| - CCScheduledActionDrawAndSwapResult result = m_client->scheduledActionDrawAndSwapIfPossible();
|
| - m_stateMachine.didDrawIfPossibleCompleted(result.didDraw);
|
| - if (result.didSwap)
|
| - m_frameRateController->didBeginFrame();
|
| - break;
|
| - }
|
| - case CCSchedulerStateMachine::ACTION_DRAW_FORCED: {
|
| - CCScheduledActionDrawAndSwapResult result = m_client->scheduledActionDrawAndSwapForced();
|
| - if (result.didSwap)
|
| - m_frameRateController->didBeginFrame();
|
| - break;
|
| - } case CCSchedulerStateMachine::ACTION_BEGIN_CONTEXT_RECREATION:
|
| - m_client->scheduledActionBeginContextRecreation();
|
| - break;
|
| - case CCSchedulerStateMachine::ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD:
|
| - m_client->scheduledActionAcquireLayerTexturesForMainThread();
|
| - break;
|
| - }
|
| - action = m_stateMachine.nextAction();
|
| - }
|
| -
|
| - // Activate or deactivate the frame rate controller.
|
| - m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded());
|
| - m_client->didAnticipatedDrawTimeChange(m_frameRateController->nextTickTime());
|
| -}
|
| -
|
| -} // namespace cc
|
|
|