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