Home | History | Annotate | Download | only in debug
      1 // Copyright 2013 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/debug/micro_benchmark.h"
      6 
      7 #include "base/callback.h"
      8 #include "base/logging.h"
      9 #include "base/memory/scoped_ptr.h"
     10 #include "base/message_loop/message_loop_proxy.h"
     11 #include "base/values.h"
     12 #include "cc/debug/micro_benchmark_impl.h"
     13 
     14 namespace cc {
     15 
     16 MicroBenchmark::MicroBenchmark(const DoneCallback& callback)
     17     : callback_(callback),
     18       is_done_(false),
     19       processed_for_benchmark_impl_(false),
     20       id_(0) {
     21 }
     22 
     23 MicroBenchmark::~MicroBenchmark() {}
     24 
     25 bool MicroBenchmark::IsDone() const {
     26   return is_done_;
     27 }
     28 
     29 void MicroBenchmark::DidUpdateLayers(LayerTreeHost* host) {}
     30 
     31 void MicroBenchmark::NotifyDone(scoped_ptr<base::Value> result) {
     32   callback_.Run(result.Pass());
     33   is_done_ = true;
     34 }
     35 
     36 void MicroBenchmark::RunOnLayer(Layer* layer) {}
     37 
     38 void MicroBenchmark::RunOnLayer(PictureLayer* layer) {}
     39 
     40 bool MicroBenchmark::ProcessMessage(scoped_ptr<base::Value> value) {
     41   return false;
     42 }
     43 
     44 bool MicroBenchmark::ProcessedForBenchmarkImpl() const {
     45   return processed_for_benchmark_impl_;
     46 }
     47 
     48 scoped_ptr<MicroBenchmarkImpl> MicroBenchmark::GetBenchmarkImpl(
     49     scoped_refptr<base::MessageLoopProxy> origin_loop) {
     50   DCHECK(!processed_for_benchmark_impl_);
     51   processed_for_benchmark_impl_ = true;
     52   return CreateBenchmarkImpl(origin_loop);
     53 }
     54 
     55 scoped_ptr<MicroBenchmarkImpl> MicroBenchmark::CreateBenchmarkImpl(
     56     scoped_refptr<base::MessageLoopProxy> origin_loop) {
     57   return make_scoped_ptr<MicroBenchmarkImpl>(NULL);
     58 }
     59 
     60 }  // namespace cc
     61