| Index: cc/scheduler/scheduler.cc
|
| diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
|
| index ebdc289b18e50082e00ff9cac20698d227e00f0b..d638f6d2bb42c645ddde779643e43c48a4f4ecb9 100644
|
| --- a/cc/scheduler/scheduler.cc
|
| +++ b/cc/scheduler/scheduler.cc
|
| @@ -19,7 +19,8 @@ Scheduler::Scheduler(SchedulerClient* client,
|
| last_set_needs_begin_frame_(false),
|
| has_pending_begin_frame_(false),
|
| state_machine_(scheduler_settings),
|
| - inside_process_scheduled_actions_(false) {
|
| + inside_process_scheduled_actions_(false),
|
| + inside_action_(SchedulerStateMachine::ACTION_NONE) {
|
| DCHECK(client_);
|
| DCHECK(!state_machine_.BeginFrameNeededToDrawByImplThread());
|
| }
|
| @@ -64,6 +65,12 @@ void Scheduler::SetNeedsRedraw() {
|
| ProcessScheduledActions();
|
| }
|
|
|
| +void Scheduler::SetNeedsManageTiles() {
|
| + DCHECK(!IsInsideAction(SchedulerStateMachine::ACTION_MANAGE_TILES));
|
| + state_machine_.SetNeedsManageTiles();
|
| + ProcessScheduledActions();
|
| +}
|
| +
|
| void Scheduler::SetSwapUsedIncompleteTile(bool used_incomplete_tile) {
|
| state_machine_.SetSwapUsedIncompleteTile(used_incomplete_tile);
|
| ProcessScheduledActions();
|
| @@ -183,8 +190,9 @@ void Scheduler::BeginFrame(const BeginFrameArgs& args) {
|
|
|
| void Scheduler::PollForAnticipatedDrawTriggers() {
|
| TRACE_EVENT0("cc", "Scheduler::PollForAnticipatedDrawTriggers");
|
| - state_machine_.PollForAnticipatedDrawTriggers();
|
| + state_machine_.DidEnterPollForAnticipatedDrawTriggers();
|
| ProcessScheduledActions();
|
| + state_machine_.DidLeavePollForAnticipatedDrawTriggers();
|
| }
|
|
|
| void Scheduler::DrawAndSwapIfPossible() {
|
| @@ -223,6 +231,8 @@ void Scheduler::ProcessScheduledActions() {
|
| "state",
|
| TracedValue::FromValue(state_machine_.AsValue().release()));
|
| state_machine_.UpdateState(action);
|
| + base::AutoReset<SchedulerStateMachine::Action>
|
| + mark_inside_action(&inside_action_, action);
|
| switch (action) {
|
| case SchedulerStateMachine::ACTION_NONE:
|
| break;
|
| @@ -257,6 +267,9 @@ void Scheduler::ProcessScheduledActions() {
|
| case SchedulerStateMachine::ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD:
|
| client_->ScheduledActionAcquireLayerTexturesForMainThread();
|
| break;
|
| + case SchedulerStateMachine::ACTION_MANAGE_TILES:
|
| + client_->ScheduledActionManageTiles();
|
| + break;
|
| }
|
| } while (action != SchedulerStateMachine::ACTION_NONE);
|
|
|
|
|