Index: cc/raster/task.cc |
diff --git a/cc/raster/task.cc b/cc/raster/task.cc |
index 4f26d12ba4495bef070161fd6b48569654755c51..dda6d96a11e26ecd678efb347f4e8e24c7194ed3 100644 |
--- a/cc/raster/task.cc |
+++ b/cc/raster/task.cc |
@@ -13,10 +13,8 @@ TaskState::TaskState() : value_(Value::NEW) {} |
TaskState::~TaskState() { |
DCHECK(value_ != Value::RUNNING) |
<< "Running task should never get destroyed."; |
- DCHECK(value_ == Value::NEW || value_ == Value::FINISHED || |
- value_ == Value::CANCELED) |
- << "Task, if scheduled, should get concluded either in FINISHED or " |
- "CANCELED state."; |
+ DCHECK(value_ == Value::NEW || value_ == Value::COMPLETED) |
+ << "Task, if scheduled, should get concluded in COMPLETED state."; |
} |
bool TaskState::IsScheduled() const { |
@@ -26,13 +24,19 @@ bool TaskState::IsScheduled() const { |
bool TaskState::IsRunning() const { |
return value_ == Value::RUNNING; |
} |
+ |
bool TaskState::IsFinished() const { |
return value_ == Value::FINISHED; |
} |
+ |
bool TaskState::IsCanceled() const { |
return value_ == Value::CANCELED; |
} |
+bool TaskState::IsCompleted() const { |
+ return value_ == Value::COMPLETED; |
+} |
+ |
void TaskState::Reset() { |
value_ = Value::NEW; |
} |
@@ -62,6 +66,13 @@ void TaskState::DidCancel() { |
value_ = Value::CANCELED; |
} |
+void TaskState::DidComplete() { |
+ DCHECK(value_ == Value::FINISHED || value_ == Value::CANCELED) |
+ << "Task should be finished or cancelled to get completed. Unscheduled " |
+ "tasks cannot be completed."; |
+ value_ = Value::COMPLETED; |
+} |
+ |
Task::Task() {} |
Task::~Task() {} |