Index: cc/scheduler/scheduler.cc |
diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc |
index d8f9440227d4b858b6190b63fe3baab87aa513c9..3c31df47bd43bd7beb1633e9f5ce2fbaff6ea7d5 100644 |
--- a/cc/scheduler/scheduler.cc |
+++ b/cc/scheduler/scheduler.cc |
@@ -66,6 +66,11 @@ void Scheduler::Stop() { |
stopped_ = true; |
} |
+void Scheduler::SetNeedsImplSideInvalidation() { |
+ state_machine_.SetNeedsImplSideInvalidation(); |
+ ProcessScheduledActions(); |
+} |
+ |
base::TimeTicks Scheduler::Now() const { |
base::TimeTicks now = base::TimeTicks::Now(); |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug.scheduler.now"), |
@@ -620,6 +625,9 @@ void Scheduler::ProcessScheduledActions() { |
client_->ScheduledActionActivateSyncTree(); |
compositor_timing_history_->DidActivate(); |
break; |
+ case SchedulerStateMachine::ACTION_RUN_IMPL_SIDE_INVALIDATION: |
+ state_machine_.WillRunImplSideInvalidation(); |
+ client_->ScheduledActionRunImplSideInvalidation(); |
case SchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE: |
DrawIfPossible(); |
break; |