Index: cc/resources/rasterizer.cc |
diff --git a/cc/resources/rasterizer.cc b/cc/resources/rasterizer.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5282d85b50da959a96c73fc4a26f45ce122c8a99 |
--- /dev/null |
+++ b/cc/resources/rasterizer.cc |
@@ -0,0 +1,82 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "cc/resources/rasterizer.h" |
+ |
+#include <algorithm> |
+ |
+namespace cc { |
+namespace internal { |
+ |
+RasterizerTask::RasterizerTask() : did_schedule_(false), did_complete_(false) {} |
+ |
+RasterizerTask::~RasterizerTask() { |
+ DCHECK(!did_schedule_); |
+ DCHECK(!did_run_ || did_complete_); |
+} |
+ |
+ImageDecodeTask* RasterizerTask::AsImageDecodeTask() { return NULL; } |
+ |
+RasterTask* RasterizerTask::AsRasterTask() { return NULL; } |
+ |
+void RasterizerTask::WillSchedule() { DCHECK(!did_schedule_); } |
+ |
+void RasterizerTask::DidSchedule() { |
+ did_schedule_ = true; |
+ did_complete_ = false; |
+} |
+ |
+bool RasterizerTask::HasBeenScheduled() const { return did_schedule_; } |
+ |
+void RasterizerTask::WillComplete() { DCHECK(!did_complete_); } |
+ |
+void RasterizerTask::DidComplete() { |
+ DCHECK(did_schedule_); |
+ DCHECK(!did_complete_); |
+ did_schedule_ = false; |
+ did_complete_ = true; |
+} |
+ |
+bool RasterizerTask::HasCompleted() const { return did_complete_; } |
+ |
+ImageDecodeTask::ImageDecodeTask() {} |
+ |
+ImageDecodeTask::~ImageDecodeTask() {} |
+ |
+ImageDecodeTask* ImageDecodeTask::AsImageDecodeTask() { return this; } |
+ |
+RasterTask::RasterTask(const Resource* resource, |
+ internal::ImageDecodeTask::Vector* dependencies) |
+ : resource_(resource) { |
+ dependencies_.swap(*dependencies); |
+} |
+ |
+RasterTask::~RasterTask() {} |
+ |
+RasterTask* RasterTask::AsRasterTask() { return this; } |
+ |
+} // namespace internal |
+ |
+RasterTaskQueue::Item::Item(internal::RasterTask* task, |
+ bool required_for_activation) |
+ : task(task), required_for_activation(required_for_activation) {} |
+ |
+RasterTaskQueue::Item::~Item() {} |
+ |
+RasterTaskQueue::RasterTaskQueue() : required_for_activation_count(0u) {} |
+ |
+RasterTaskQueue::~RasterTaskQueue() {} |
+ |
+void RasterTaskQueue::Swap(RasterTaskQueue* other) { |
+ items.swap(other->items); |
+ std::swap(required_for_activation_count, |
+ other->required_for_activation_count); |
+} |
+ |
+void RasterTaskQueue::Reset() { |
+ required_for_activation_count = 0u; |
+ items.clear(); |
+} |
+ |
+} // namespace cc |