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"
14 class FakePictureLayer
: public PictureLayer
{
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_
;
53 FakePictureLayer(const LayerSettings
& settings
, ContentLayerClient
* client
);
54 FakePictureLayer(const LayerSettings
& settings
,
55 ContentLayerClient
* client
,
56 scoped_ptr
<RecordingSource
> source
);
57 ~FakePictureLayer() override
;
60 size_t push_properties_count_
;
61 size_t output_surface_created_count_
;
62 bool always_update_resources_
;
63 bool disable_lcd_text_
;
68 #endif // CC_TEST_FAKE_PICTURE_LAYER_H_