Chromium Code Reviews| Index: cc/scheduler/scheduler_state_machine.h |
| diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h |
| index 7509819c1d7f114d265a1c230d24b78507edbbb0..3bf721d7be8f44e47a8fee6d890459871e247159 100644 |
| --- a/cc/scheduler/scheduler_state_machine.h |
| +++ b/cc/scheduler/scheduler_state_machine.h |
| @@ -42,58 +42,73 @@ class CC_EXPORT SchedulerStateMachine { |
| // settings must be valid for the lifetime of this class. |
| explicit SchedulerStateMachine(const SchedulerSettings& settings); |
| - enum OutputSurfaceState { |
| - OUTPUT_SURFACE_ACTIVE, |
| - OUTPUT_SURFACE_LOST, |
| - OUTPUT_SURFACE_CREATING, |
| - OUTPUT_SURFACE_WAITING_FOR_FIRST_COMMIT, |
| - OUTPUT_SURFACE_WAITING_FOR_FIRST_ACTIVATION, |
| + enum class OutputSurfaceState { |
| + ACTIVE, |
| + LOST, |
| + CREATING, |
| + WAITING_FOR_FIRST_COMMIT, |
| + WAITING_FOR_FIRST_ACTIVATION, |
| }; |
| static const char* OutputSurfaceStateToString(OutputSurfaceState state); |
| + friend ::std::ostream& operator<<(::std::ostream& os, |
|
Sami
2015/01/07 14:13:03
It's unfortunate that we need to add these just fo
jamesr
2015/01/07 22:32:00
enum classes, unlike enums, aren't implicitly conv
Shanmuga Pandi
2015/01/08 05:13:30
I think PrintTo will solve gtest print issue.
But
|
| + const OutputSurfaceState& state) { |
| + return os << OutputSurfaceStateToString(state); |
| + } |
| + |
| // Note: BeginImplFrameState will always cycle through all the states in |
| // order. Whether or not it actually waits or draws, it will at least try to |
| - // wait in BEGIN_IMPL_FRAME_STATE_INSIDE_BEGIN_FRAME and try to draw in |
| - // BEGIN_IMPL_FRAME_STATE_INSIDE_DEADLINE |
| - enum BeginImplFrameState { |
| - BEGIN_IMPL_FRAME_STATE_IDLE, |
| - BEGIN_IMPL_FRAME_STATE_BEGIN_FRAME_STARTING, |
| - BEGIN_IMPL_FRAME_STATE_INSIDE_BEGIN_FRAME, |
| - BEGIN_IMPL_FRAME_STATE_INSIDE_DEADLINE, |
| + // wait in INSIDE_BEGIN_FRAME and try to draw in |
| + // INSIDE_DEADLINE |
| + enum class BeginImplFrameState { |
| + IDLE, |
| + BEGIN_FRAME_STARTING, |
| + INSIDE_BEGIN_FRAME, |
| + INSIDE_DEADLINE, |
| }; |
| static const char* BeginImplFrameStateToString(BeginImplFrameState state); |
| - enum BeginImplFrameDeadlineMode { |
| - BEGIN_IMPL_FRAME_DEADLINE_MODE_IMMEDIATE, |
| - BEGIN_IMPL_FRAME_DEADLINE_MODE_REGULAR, |
| - BEGIN_IMPL_FRAME_DEADLINE_MODE_LATE, |
| + friend ::std::ostream& operator<<(::std::ostream& os, |
| + const BeginImplFrameState& state) { |
| + return os << BeginImplFrameStateToString(state); |
| + } |
| + |
| + enum class BeginImplFrameDeadlineMode { |
| + IMMEDIATE, |
| + REGULAR, |
| + LATE, |
| }; |
| static const char* BeginImplFrameDeadlineModeToString( |
| BeginImplFrameDeadlineMode mode); |
| - enum CommitState { |
| - COMMIT_STATE_IDLE, |
| - COMMIT_STATE_BEGIN_MAIN_FRAME_SENT, |
| - COMMIT_STATE_BEGIN_MAIN_FRAME_STARTED, |
| - COMMIT_STATE_READY_TO_COMMIT, |
| - COMMIT_STATE_WAITING_FOR_ACTIVATION, |
| - COMMIT_STATE_WAITING_FOR_DRAW, |
| + enum class CommitState { |
| + IDLE, |
| + BEGIN_MAIN_FRAME_SENT, |
| + BEGIN_MAIN_FRAME_STARTED, |
| + READY_TO_COMMIT, |
| + WAITING_FOR_ACTIVATION, |
| + WAITING_FOR_DRAW, |
| }; |
| static const char* CommitStateToString(CommitState state); |
| - enum ForcedRedrawOnTimeoutState { |
| - FORCED_REDRAW_STATE_IDLE, |
| - FORCED_REDRAW_STATE_WAITING_FOR_COMMIT, |
| - FORCED_REDRAW_STATE_WAITING_FOR_ACTIVATION, |
| - FORCED_REDRAW_STATE_WAITING_FOR_DRAW, |
| + friend ::std::ostream& operator<<(::std::ostream& os, |
| + const CommitState& state) { |
| + return os << CommitStateToString(state); |
| + } |
| + |
| + enum class ForcedRedrawOnTimeoutState { |
| + IDLE, |
| + WAITING_FOR_COMMIT, |
| + WAITING_FOR_ACTIVATION, |
| + WAITING_FOR_DRAW, |
| }; |
| static const char* ForcedRedrawOnTimeoutStateToString( |
| ForcedRedrawOnTimeoutState state); |
| bool CommitPending() const { |
| - return commit_state_ == COMMIT_STATE_BEGIN_MAIN_FRAME_SENT || |
| - commit_state_ == COMMIT_STATE_BEGIN_MAIN_FRAME_STARTED || |
| - commit_state_ == COMMIT_STATE_READY_TO_COMMIT; |
| + return commit_state_ == CommitState::BEGIN_MAIN_FRAME_SENT || |
| + commit_state_ == CommitState::BEGIN_MAIN_FRAME_STARTED || |
| + commit_state_ == CommitState::READY_TO_COMMIT; |
| } |
| CommitState commit_state() const { return commit_state_; } |
| @@ -101,16 +116,16 @@ class CC_EXPORT SchedulerStateMachine { |
| bool PrepareTilesPending() const { return needs_prepare_tiles_; } |
| enum Action { |
| - ACTION_NONE, |
| - ACTION_ANIMATE, |
| - ACTION_SEND_BEGIN_MAIN_FRAME, |
| - ACTION_COMMIT, |
| - ACTION_ACTIVATE_SYNC_TREE, |
| - ACTION_DRAW_AND_SWAP_IF_POSSIBLE, |
| - ACTION_DRAW_AND_SWAP_FORCED, |
| - ACTION_DRAW_AND_SWAP_ABORT, |
| - ACTION_BEGIN_OUTPUT_SURFACE_CREATION, |
| - ACTION_PREPARE_TILES, |
| + NONE, |
| + ANIMATE, |
| + SEND_BEGIN_MAIN_FRAME, |
| + COMMIT, |
| + ACTIVATE_SYNC_TREE, |
| + DRAW_AND_SWAP_IF_POSSIBLE, |
| + DRAW_AND_SWAP_FORCED, |
| + DRAW_AND_SWAP_ABORT, |
| + BEGIN_OUTPUT_SURFACE_CREATION, |
| + PREPARE_TILES, |
| }; |
| static const char* ActionToString(Action action); |