Home | History | Annotate | Download | only in resources
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "cc/resources/rasterizer.h"
      6 
      7 #include <algorithm>
      8 
      9 namespace cc {
     10 
     11 RasterizerTask::RasterizerTask() : did_schedule_(false), did_complete_(false) {}
     12 
     13 RasterizerTask::~RasterizerTask() {
     14   // Debugging CHECKs to help track down a use-after-free.
     15   CHECK(!did_schedule_);
     16   CHECK(!did_run_ || did_complete_);
     17 }
     18 
     19 ImageDecodeTask* RasterizerTask::AsImageDecodeTask() { return NULL; }
     20 
     21 RasterTask* RasterizerTask::AsRasterTask() { return NULL; }
     22 
     23 void RasterizerTask::WillSchedule() { DCHECK(!did_schedule_); }
     24 
     25 void RasterizerTask::DidSchedule() {
     26   did_schedule_ = true;
     27   did_complete_ = false;
     28 }
     29 
     30 bool RasterizerTask::HasBeenScheduled() const { return did_schedule_; }
     31 
     32 void RasterizerTask::WillComplete() { DCHECK(!did_complete_); }
     33 
     34 void RasterizerTask::DidComplete() {
     35   DCHECK(did_schedule_);
     36   DCHECK(!did_complete_);
     37   did_schedule_ = false;
     38   did_complete_ = true;
     39 }
     40 
     41 bool RasterizerTask::HasCompleted() const { return did_complete_; }
     42 
     43 ImageDecodeTask::ImageDecodeTask() {}
     44 
     45 ImageDecodeTask::~ImageDecodeTask() {}
     46 
     47 ImageDecodeTask* ImageDecodeTask::AsImageDecodeTask() { return this; }
     48 
     49 RasterTask::RasterTask(const Resource* resource,
     50                        ImageDecodeTask::Vector* dependencies)
     51     : resource_(resource) {
     52   dependencies_.swap(*dependencies);
     53 }
     54 
     55 RasterTask::~RasterTask() {}
     56 
     57 RasterTask* RasterTask::AsRasterTask() { return this; }
     58 
     59 RasterTaskQueue::Item::Item(RasterTask* task,
     60                             const TaskSetCollection& task_sets)
     61     : task(task), task_sets(task_sets) {
     62   DCHECK(task_sets.any());
     63 }
     64 
     65 RasterTaskQueue::Item::~Item() {}
     66 
     67 RasterTaskQueue::RasterTaskQueue() {
     68 }
     69 
     70 RasterTaskQueue::~RasterTaskQueue() {}
     71 
     72 void RasterTaskQueue::Swap(RasterTaskQueue* other) {
     73   items.swap(other->items);
     74 }
     75 
     76 void RasterTaskQueue::Reset() {
     77   items.clear();
     78 }
     79 
     80 }  // namespace cc
     81