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 #include "cc/debug/micro_benchmark_controller.h" | 5 #include "cc/debug/micro_benchmark_controller.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
11 #include "base/values.h" | 11 #include "base/values.h" |
12 #include "cc/debug/picture_record_benchmark.h" | 12 #include "cc/debug/picture_record_benchmark.h" |
| 13 #include "cc/debug/rasterize_and_record_benchmark.h" |
13 #include "cc/debug/unittest_only_benchmark.h" | 14 #include "cc/debug/unittest_only_benchmark.h" |
14 #include "cc/trees/layer_tree_host.h" | 15 #include "cc/trees/layer_tree_host.h" |
15 #include "cc/trees/layer_tree_host_impl.h" | 16 #include "cc/trees/layer_tree_host_impl.h" |
16 | 17 |
17 namespace cc { | 18 namespace cc { |
18 | 19 |
19 namespace { | 20 namespace { |
20 | 21 |
21 scoped_ptr<MicroBenchmark> CreateBenchmark( | 22 scoped_ptr<MicroBenchmark> CreateBenchmark( |
22 const std::string& name, | 23 const std::string& name, |
23 scoped_ptr<base::Value> value, | 24 scoped_ptr<base::Value> value, |
24 const MicroBenchmark::DoneCallback& callback) { | 25 const MicroBenchmark::DoneCallback& callback) { |
25 if (name == "picture_record_benchmark") { | 26 if (name == "picture_record_benchmark") { |
26 return scoped_ptr<MicroBenchmark>( | 27 return scoped_ptr<MicroBenchmark>( |
27 new PictureRecordBenchmark(value.Pass(), callback)); | 28 new PictureRecordBenchmark(value.Pass(), callback)); |
| 29 } else if (name == "rasterize_and_record_benchmark") { |
| 30 return scoped_ptr<MicroBenchmark>( |
| 31 new RasterizeAndRecordBenchmark(value.Pass(), callback)); |
28 } else if (name == "unittest_only_benchmark") { | 32 } else if (name == "unittest_only_benchmark") { |
29 return scoped_ptr<MicroBenchmark>( | 33 return scoped_ptr<MicroBenchmark>( |
30 new UnittestOnlyBenchmark(value.Pass(), callback)); | 34 new UnittestOnlyBenchmark(value.Pass(), callback)); |
31 } | 35 } |
32 return scoped_ptr<MicroBenchmark>(); | 36 return scoped_ptr<MicroBenchmark>(); |
33 } | 37 } |
34 | 38 |
35 class IsDonePredicate { | 39 class IsDonePredicate { |
36 public: | 40 public: |
37 typedef const MicroBenchmark* argument_type; | 41 typedef const MicroBenchmark* argument_type; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 CleanUpFinishedBenchmarks(); | 97 CleanUpFinishedBenchmarks(); |
94 } | 98 } |
95 | 99 |
96 void MicroBenchmarkController::CleanUpFinishedBenchmarks() { | 100 void MicroBenchmarkController::CleanUpFinishedBenchmarks() { |
97 benchmarks_.erase( | 101 benchmarks_.erase( |
98 benchmarks_.partition(std::not1(IsDonePredicate())), | 102 benchmarks_.partition(std::not1(IsDonePredicate())), |
99 benchmarks_.end()); | 103 benchmarks_.end()); |
100 } | 104 } |
101 | 105 |
102 } // namespace cc | 106 } // namespace cc |
OLD | NEW |