OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_DEBUG_UNITTEST_ONLY_BENCHMARK_H_ | 5 #ifndef CC_DEBUG_UNITTEST_ONLY_BENCHMARK_H_ |
6 #define CC_DEBUG_UNITTEST_ONLY_BENCHMARK_H_ | 6 #define CC_DEBUG_UNITTEST_ONLY_BENCHMARK_H_ |
7 | 7 |
| 8 #include "base/memory/weak_ptr.h" |
8 #include "cc/debug/micro_benchmark.h" | 9 #include "cc/debug/micro_benchmark.h" |
9 | 10 |
10 namespace cc { | 11 namespace cc { |
11 | 12 |
12 class UnittestOnlyBenchmark : public MicroBenchmark { | 13 class CC_EXPORT UnittestOnlyBenchmark : public MicroBenchmark { |
13 public: | 14 public: |
14 explicit UnittestOnlyBenchmark(scoped_ptr<base::Value> value, | 15 UnittestOnlyBenchmark(scoped_ptr<base::Value> value, |
15 const DoneCallback& callback); | 16 const DoneCallback& callback); |
16 virtual ~UnittestOnlyBenchmark(); | 17 virtual ~UnittestOnlyBenchmark(); |
17 | 18 |
18 virtual void DidUpdateLayers(LayerTreeHost* host) OVERRIDE; | 19 virtual void DidUpdateLayers(LayerTreeHost* host) OVERRIDE; |
| 20 |
| 21 protected: |
| 22 virtual scoped_ptr<MicroBenchmarkImpl> CreateBenchmarkImpl( |
| 23 scoped_refptr<base::MessageLoopProxy> origin_loop) OVERRIDE; |
| 24 |
| 25 private: |
| 26 void RecordImplResults(scoped_ptr<base::Value> results); |
| 27 |
| 28 bool create_impl_benchmark_; |
| 29 base::WeakPtrFactory<UnittestOnlyBenchmark> weak_ptr_factory_; |
19 }; | 30 }; |
20 | 31 |
21 } // namespace cc | 32 } // namespace cc |
22 | 33 |
23 #endif // CC_DEBUG_UNITTEST_ONLY_BENCHMARK_H_ | 34 #endif // CC_DEBUG_UNITTEST_ONLY_BENCHMARK_H_ |
24 | 35 |
OLD | NEW |