Index: cc/scheduler_state_machine.cc |
diff --git a/cc/scheduler_state_machine.cc b/cc/scheduler_state_machine.cc |
index f9d8cbc8f5b90b834ab8a1102f5de8b3b9384221..d385a432a44614098fc436d82f8c366a4d42cb59 100644 |
--- a/cc/scheduler_state_machine.cc |
+++ b/cc/scheduler_state_machine.cc |
@@ -6,11 +6,13 @@ |
#include "base/logging.h" |
#include "base/stringprintf.h" |
+#include "cc/scheduler.h" |
namespace cc { |
-SchedulerStateMachine::SchedulerStateMachine() |
- : m_commitState(COMMIT_STATE_IDLE) |
+SchedulerStateMachine::SchedulerStateMachine(const SchedulerSettings* const settings) |
+ : m_settings(settings) |
+ , m_commitState(COMMIT_STATE_IDLE) |
, m_currentFrameNumber(0) |
, m_lastFrameNumberWhereDrawWasCalled(-1) |
, m_lastFrameNumberWhereTreeActivationAttempted(-1) |
@@ -209,7 +211,9 @@ void SchedulerStateMachine::updateState(Action action) |
m_commitState = COMMIT_STATE_WAITING_FOR_FIRST_FORCED_DRAW; |
else |
m_commitState = COMMIT_STATE_WAITING_FOR_FIRST_DRAW; |
- m_needsRedraw = true; |
+ // When impl-side painting, we draw on activation instead of on commit. |
+ if (!m_settings->implSidePainting) |
+ m_needsRedraw = true; |
if (m_drawIfPossibleFailed) |
m_lastFrameNumberWhereDrawWasCalled = -1; |