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 21 MicroBenchmark::~MicroBenchmark() {} 22 23 bool MicroBenchmark::IsDone() const { 24 return is_done_; 25 } 26 27 void MicroBenchmark::DidUpdateLayers(LayerTreeHost* host) {} 28 29 void MicroBenchmark::NotifyDone(scoped_ptr<base::Value> result) { 30 callback_.Run(result.Pass()); 31 is_done_ = true; 32 } 33 34 void MicroBenchmark::RunOnLayer(Layer* layer) {} 35 36 void MicroBenchmark::RunOnLayer(PictureLayer* layer) {} 37 38 bool MicroBenchmark::ProcessedForBenchmarkImpl() const { 39 return processed_for_benchmark_impl_; 40 } 41 42 scoped_ptr<MicroBenchmarkImpl> MicroBenchmark::GetBenchmarkImpl( 43 scoped_refptr<base::MessageLoopProxy> origin_loop) { 44 DCHECK(!processed_for_benchmark_impl_); 45 processed_for_benchmark_impl_ = true; 46 return CreateBenchmarkImpl(origin_loop); 47 } 48 49 scoped_ptr<MicroBenchmarkImpl> MicroBenchmark::CreateBenchmarkImpl( 50 scoped_refptr<base::MessageLoopProxy> origin_loop) { 51 return make_scoped_ptr<MicroBenchmarkImpl>(NULL); 52 } 53 54 } // namespace cc 55