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 "cc/scheduler/scheduler.h" | 5 #include "cc/scheduler/scheduler.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include "base/auto_reset.h" | 8 #include "base/auto_reset.h" |
9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 void Scheduler::SetNeedsForcedCommitForReadback() { | 79 void Scheduler::SetNeedsForcedCommitForReadback() { |
80 state_machine_.SetNeedsForcedCommitForReadback(); | 80 state_machine_.SetNeedsForcedCommitForReadback(); |
81 ProcessScheduledActions(); | 81 ProcessScheduledActions(); |
82 } | 82 } |
83 | 83 |
84 void Scheduler::SetNeedsRedraw() { | 84 void Scheduler::SetNeedsRedraw() { |
85 state_machine_.SetNeedsRedraw(); | 85 state_machine_.SetNeedsRedraw(); |
86 ProcessScheduledActions(); | 86 ProcessScheduledActions(); |
87 } | 87 } |
88 | 88 |
| 89 void Scheduler::SetNeedsAnimate() { |
| 90 state_machine_.SetNeedsAnimate(); |
| 91 ProcessScheduledActions(); |
| 92 } |
| 93 |
89 void Scheduler::SetNeedsManageTiles() { | 94 void Scheduler::SetNeedsManageTiles() { |
90 DCHECK(!IsInsideAction(SchedulerStateMachine::ACTION_MANAGE_TILES)); | 95 DCHECK(!IsInsideAction(SchedulerStateMachine::ACTION_MANAGE_TILES)); |
91 state_machine_.SetNeedsManageTiles(); | 96 state_machine_.SetNeedsManageTiles(); |
92 ProcessScheduledActions(); | 97 ProcessScheduledActions(); |
93 } | 98 } |
94 | 99 |
95 void Scheduler::SetSwapUsedIncompleteTile(bool used_incomplete_tile) { | 100 void Scheduler::SetSwapUsedIncompleteTile(bool used_incomplete_tile) { |
96 state_machine_.SetSwapUsedIncompleteTile(used_incomplete_tile); | 101 state_machine_.SetSwapUsedIncompleteTile(used_incomplete_tile); |
97 ProcessScheduledActions(); | 102 ProcessScheduledActions(); |
98 } | 103 } |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug.scheduler"), | 456 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug.scheduler"), |
452 "SchedulerStateMachine", | 457 "SchedulerStateMachine", |
453 "state", | 458 "state", |
454 TracedValue::FromValue(StateAsValue().release())); | 459 TracedValue::FromValue(StateAsValue().release())); |
455 state_machine_.UpdateState(action); | 460 state_machine_.UpdateState(action); |
456 base::AutoReset<SchedulerStateMachine::Action> | 461 base::AutoReset<SchedulerStateMachine::Action> |
457 mark_inside_action(&inside_action_, action); | 462 mark_inside_action(&inside_action_, action); |
458 switch (action) { | 463 switch (action) { |
459 case SchedulerStateMachine::ACTION_NONE: | 464 case SchedulerStateMachine::ACTION_NONE: |
460 break; | 465 break; |
| 466 case SchedulerStateMachine::ACTION_ANIMATE: |
| 467 client_->ScheduledActionAnimate(); |
| 468 break; |
461 case SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME: | 469 case SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME: |
462 client_->ScheduledActionSendBeginMainFrame(); | 470 client_->ScheduledActionSendBeginMainFrame(); |
463 break; | 471 break; |
464 case SchedulerStateMachine::ACTION_COMMIT: | 472 case SchedulerStateMachine::ACTION_COMMIT: |
465 client_->ScheduledActionCommit(); | 473 client_->ScheduledActionCommit(); |
466 break; | 474 break; |
467 case SchedulerStateMachine::ACTION_UPDATE_VISIBLE_TILES: | 475 case SchedulerStateMachine::ACTION_UPDATE_VISIBLE_TILES: |
468 client_->ScheduledActionUpdateVisibleTiles(); | 476 client_->ScheduledActionUpdateVisibleTiles(); |
469 break; | 477 break; |
470 case SchedulerStateMachine::ACTION_ACTIVATE_PENDING_TREE: | 478 case SchedulerStateMachine::ACTION_ACTIVATE_PENDING_TREE: |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 } | 564 } |
557 | 565 |
558 bool Scheduler::IsBeginMainFrameSentOrStarted() const { | 566 bool Scheduler::IsBeginMainFrameSentOrStarted() const { |
559 return (state_machine_.commit_state() == | 567 return (state_machine_.commit_state() == |
560 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_SENT || | 568 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_SENT || |
561 state_machine_.commit_state() == | 569 state_machine_.commit_state() == |
562 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_STARTED); | 570 SchedulerStateMachine::COMMIT_STATE_BEGIN_MAIN_FRAME_STARTED); |
563 } | 571 } |
564 | 572 |
565 } // namespace cc | 573 } // namespace cc |
OLD | NEW |