• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)16 MicroBenchmark::MicroBenchmark(const DoneCallback& callback)
17     : callback_(callback),
18       is_done_(false),
19       processed_for_benchmark_impl_(false) {}
20 
~MicroBenchmark()21 MicroBenchmark::~MicroBenchmark() {}
22 
IsDone() const23 bool MicroBenchmark::IsDone() const {
24   return is_done_;
25 }
26 
DidUpdateLayers(LayerTreeHost * host)27 void MicroBenchmark::DidUpdateLayers(LayerTreeHost* host) {}
28 
NotifyDone(scoped_ptr<base::Value> result)29 void MicroBenchmark::NotifyDone(scoped_ptr<base::Value> result) {
30   callback_.Run(result.Pass());
31   is_done_ = true;
32 }
33 
RunOnLayer(Layer * layer)34 void MicroBenchmark::RunOnLayer(Layer* layer) {}
35 
RunOnLayer(PictureLayer * layer)36 void MicroBenchmark::RunOnLayer(PictureLayer* layer) {}
37 
ProcessedForBenchmarkImpl() const38 bool MicroBenchmark::ProcessedForBenchmarkImpl() const {
39   return processed_for_benchmark_impl_;
40 }
41 
GetBenchmarkImpl(scoped_refptr<base::MessageLoopProxy> origin_loop)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 
CreateBenchmarkImpl(scoped_refptr<base::MessageLoopProxy> origin_loop)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