| 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
|
|
|