// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_DEBUG_PICTURE_RECORD_BENCHMARK_H_ #define CC_DEBUG_PICTURE_RECORD_BENCHMARK_H_ #include #include #include #include "base/time/time.h" #include "cc/debug/micro_benchmark_controller.h" namespace cc { class LayerTreeHost; class Layer; class CC_EXPORT PictureRecordBenchmark : public MicroBenchmark { public: explicit PictureRecordBenchmark(scoped_ptr value, const MicroBenchmark::DoneCallback& callback); virtual ~PictureRecordBenchmark(); // Implements MicroBenchmark interface. virtual void DidUpdateLayers(LayerTreeHost* host) OVERRIDE; virtual void RunOnLayer(PictureLayer* layer) OVERRIDE; private: void Run(Layer* layer); typedef std::pair TotalTime; std::map, TotalTime> times_; std::vector > dimensions_; }; } // namespace cc #endif // CC_DEBUG_PICTURE_RECORD_BENCHMARK_H_