Implement self-contained gpu data collection on Android
[chromium-blink-merge.git] / cc / test / fake_picture_layer.h
blob70938161b46c70a0ee8678ab07493564ed36a4a4
1 // Copyright 2012 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.
5 #ifndef CC_TEST_FAKE_PICTURE_LAYER_H_
6 #define CC_TEST_FAKE_PICTURE_LAYER_H_
8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "cc/layers/picture_layer.h"
11 #include "cc/playback/recording_source.h"
13 namespace cc {
14 class FakePictureLayer : public PictureLayer {
15 public:
16 static scoped_refptr<FakePictureLayer> Create(const LayerSettings& settings,
17 ContentLayerClient* client) {
18 return make_scoped_refptr(new FakePictureLayer(settings, client));
21 static scoped_refptr<FakePictureLayer> CreateWithRecordingSource(
22 const LayerSettings& settings,
23 ContentLayerClient* client,
24 scoped_ptr<RecordingSource> source) {
25 return make_scoped_refptr(
26 new FakePictureLayer(settings, client, source.Pass()));
29 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override;
31 int update_count() const { return update_count_; }
32 void reset_update_count() { update_count_ = 0; }
34 size_t push_properties_count() const { return push_properties_count_; }
35 void reset_push_properties_count() { push_properties_count_ = 0; }
37 void set_always_update_resources(bool always_update_resources) {
38 always_update_resources_ = always_update_resources;
41 void disable_lcd_text() { disable_lcd_text_ = true; }
43 bool Update() override;
45 void PushPropertiesTo(LayerImpl* layer) override;
47 void OnOutputSurfaceCreated() override;
48 size_t output_surface_created_count() const {
49 return output_surface_created_count_;
52 private:
53 FakePictureLayer(const LayerSettings& settings, ContentLayerClient* client);
54 FakePictureLayer(const LayerSettings& settings,
55 ContentLayerClient* client,
56 scoped_ptr<RecordingSource> source);
57 ~FakePictureLayer() override;
59 int update_count_;
60 size_t push_properties_count_;
61 size_t output_surface_created_count_;
62 bool always_update_resources_;
63 bool disable_lcd_text_;
66 } // namespace cc
68 #endif // CC_TEST_FAKE_PICTURE_LAYER_H_