diff options
Diffstat (limited to 'chromium/cc/resources/rasterizer.cc')
-rw-r--r-- | chromium/cc/resources/rasterizer.cc | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/chromium/cc/resources/rasterizer.cc b/chromium/cc/resources/rasterizer.cc new file mode 100644 index 00000000000..df7e27ecebc --- /dev/null +++ b/chromium/cc/resources/rasterizer.cc @@ -0,0 +1,79 @@ +// 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 { + +RasterizerTask::RasterizerTask() : did_schedule_(false), did_complete_(false) {} + +RasterizerTask::~RasterizerTask() { + // Debugging CHECKs to help track down a use-after-free. + CHECK(!did_schedule_); + CHECK(!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, + ImageDecodeTask::Vector* dependencies) + : resource_(resource) { + dependencies_.swap(*dependencies); +} + +RasterTask::~RasterTask() {} + +RasterTask* RasterTask::AsRasterTask() { return this; } + +RasterTaskQueue::Item::Item(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 |