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 MicroBenchmark(const DoneCallback & callback)16MicroBenchmark::MicroBenchmark(const DoneCallback& callback) 17 : callback_(callback), 18 is_done_(false), 19 processed_for_benchmark_impl_(false) {} 20 ~MicroBenchmark()21MicroBenchmark::~MicroBenchmark() {} 22 IsDone() const23bool MicroBenchmark::IsDone() const { 24 return is_done_; 25 } 26 DidUpdateLayers(LayerTreeHost * host)27void MicroBenchmark::DidUpdateLayers(LayerTreeHost* host) {} 28 NotifyDone(scoped_ptr<base::Value> result)29void MicroBenchmark::NotifyDone(scoped_ptr<base::Value> result) { 30 callback_.Run(result.Pass()); 31 is_done_ = true; 32 } 33 RunOnLayer(Layer * layer)34void MicroBenchmark::RunOnLayer(Layer* layer) {} 35 RunOnLayer(PictureLayer * layer)36void MicroBenchmark::RunOnLayer(PictureLayer* layer) {} 37 ProcessedForBenchmarkImpl() const38bool MicroBenchmark::ProcessedForBenchmarkImpl() const { 39 return processed_for_benchmark_impl_; 40 } 41 GetBenchmarkImpl(scoped_refptr<base::MessageLoopProxy> origin_loop)42scoped_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 CreateBenchmarkImpl(scoped_refptr<base::MessageLoopProxy> origin_loop)49scoped_ptr<MicroBenchmarkImpl> MicroBenchmark::CreateBenchmarkImpl( 50 scoped_refptr<base::MessageLoopProxy> origin_loop) { 51 return make_scoped_ptr<MicroBenchmarkImpl>(NULL); 52 } 53 54 } // namespace cc 55