| Index: cc/scheduler/scheduler.cc
|
| diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
|
| index 072086fe0dd262ea9bc03e66ccc4d2cb91c08d5b..295a2912b53323e3f1b1278fc2d66a56e765cf8c 100644
|
| --- a/cc/scheduler/scheduler.cc
|
| +++ b/cc/scheduler/scheduler.cc
|
| @@ -606,16 +606,21 @@ void Scheduler::OnBeginImplFrameDeadline() {
|
| }
|
|
|
| void Scheduler::DrawAndSwapIfPossible() {
|
| + state_machine_.WillDraw();
|
| compositor_timing_history_->WillDraw();
|
| DrawResult result = client_->ScheduledActionDrawAndSwapIfPossible();
|
| - state_machine_.DidDrawIfPossibleCompleted(result);
|
| compositor_timing_history_->DidDraw();
|
| + bool did_request_swap = true;
|
| + state_machine_.DidDraw(did_request_swap, result);
|
| }
|
|
|
| void Scheduler::DrawAndSwapForced() {
|
| + state_machine_.WillDraw();
|
| compositor_timing_history_->WillDraw();
|
| - client_->ScheduledActionDrawAndSwapForced();
|
| + DrawResult result = client_->ScheduledActionDrawAndSwapForced();
|
| compositor_timing_history_->DidDraw();
|
| + bool did_request_swap = true;
|
| + state_machine_.DidDraw(did_request_swap, result);
|
| }
|
|
|
| void Scheduler::SetDeferCommits(bool defer_commits) {
|
| @@ -680,22 +685,18 @@ void Scheduler::ProcessScheduledActions() {
|
| tracked_objects::ScopedTracker tracking_profile6(
|
| FROM_HERE_WITH_EXPLICIT_FUNCTION(
|
| "461509 Scheduler::ProcessScheduledActions6"));
|
| - bool did_request_swap = true;
|
| - state_machine_.WillDraw(did_request_swap);
|
| DrawAndSwapIfPossible();
|
| break;
|
| }
|
| - case SchedulerStateMachine::ACTION_DRAW_AND_SWAP_FORCED: {
|
| - bool did_request_swap = true;
|
| - state_machine_.WillDraw(did_request_swap);
|
| + case SchedulerStateMachine::ACTION_DRAW_AND_SWAP_FORCED:
|
| DrawAndSwapForced();
|
| break;
|
| - }
|
| case SchedulerStateMachine::ACTION_DRAW_AND_SWAP_ABORT: {
|
| // No action is actually performed, but this allows the state machine to
|
| // advance out of its waiting to draw state without actually drawing.
|
| bool did_request_swap = false;
|
| - state_machine_.WillDraw(did_request_swap);
|
| + state_machine_.WillDraw();
|
| + state_machine_.DidDraw(did_request_swap, DRAW_SUCCESS);
|
| break;
|
| }
|
| case SchedulerStateMachine::ACTION_BEGIN_OUTPUT_SURFACE_CREATION:
|
|
|