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 14namespace cc { 15 16MicroBenchmark::MicroBenchmark(const DoneCallback& callback) 17 : callback_(callback), 18 is_done_(false), 19 processed_for_benchmark_impl_(false) {} 20 21MicroBenchmark::~MicroBenchmark() {} 22 23bool MicroBenchmark::IsDone() const { 24 return is_done_; 25} 26 27void MicroBenchmark::DidUpdateLayers(LayerTreeHost* host) {} 28 29void MicroBenchmark::NotifyDone(scoped_ptr<base::Value> result) { 30 callback_.Run(result.Pass()); 31 is_done_ = true; 32} 33 34void MicroBenchmark::RunOnLayer(Layer* layer) {} 35 36void MicroBenchmark::RunOnLayer(PictureLayer* layer) {} 37 38bool MicroBenchmark::ProcessedForBenchmarkImpl() const { 39 return processed_for_benchmark_impl_; 40} 41 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 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