Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / cc / resources / task_graph_runner.cc
index 21a02f9..913c06d 100644 (file)
@@ -11,7 +11,6 @@
 #include "base/threading/thread_restrictions.h"
 
 namespace cc {
-namespace internal {
 namespace {
 
 // Helper class for iterating over all dependents of a task.
@@ -97,15 +96,24 @@ class DependencyMismatchComparator {
 
 }  // namespace
 
-Task::Task() : did_run_(false) {}
+Task::Task() : will_run_(false), did_run_(false) {
+}
 
-Task::~Task() {}
+Task::~Task() {
+  DCHECK(!will_run_);
+}
 
 void Task::WillRun() {
+  DCHECK(!will_run_);
   DCHECK(!did_run_);
+  will_run_ = true;
 }
 
-void Task::DidRun() { did_run_ = true; }
+void Task::DidRun() {
+  DCHECK(will_run_);
+  will_run_ = false;
+  did_run_ = true;
+}
 
 bool Task::HasFinishedRunning() const { return did_run_; }
 
@@ -466,5 +474,4 @@ void TaskGraphRunner::RunTaskWithLockAcquired() {
     has_namespaces_with_finished_running_tasks_cv_.Signal();
 }
 
-}  // namespace internal
 }  // namespace cc