Setup a experiment to enable background tracing.
[chromium-blink-merge.git] / cc / test / fake_picture_layer.h
blob19e365d76ad4df0205eaa8dd6cce311fad1c8bfd
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 size_t 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(ResourceUpdateQueue* queue,
44 const OcclusionTracker<Layer>* occlusion) override;
46 void PushPropertiesTo(LayerImpl* layer) override;
48 void OnOutputSurfaceCreated() override;
49 size_t output_surface_created_count() const {
50 return output_surface_created_count_;
53 private:
54 FakePictureLayer(const LayerSettings& settings, ContentLayerClient* client);
55 FakePictureLayer(const LayerSettings& settings,
56 ContentLayerClient* client,
57 scoped_ptr<RecordingSource> source);
58 ~FakePictureLayer() override;
60 size_t update_count_;
61 size_t push_properties_count_;
62 size_t output_surface_created_count_;
63 bool always_update_resources_;
64 bool disable_lcd_text_;
67 } // namespace cc
69 #endif // CC_TEST_FAKE_PICTURE_LAYER_H_