Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3882)

Unified Diff: cc/scheduler/scheduler_state_machine.h

Issue 835783003: Convert the enum objects in cc/scheduler/scheduler_state_machine.h to C++ "enum class" objects (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/scheduler/scheduler.cc ('k') | cc/scheduler/scheduler_state_machine.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « cc/scheduler/scheduler.cc ('k') | cc/scheduler/scheduler_state_machine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698