Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_picture_layer.h
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.
4
5 #ifndef CC_TEST_FAKE_PICTURE_LAYER_H_
6 #define CC_TEST_FAKE_PICTURE_LAYER_H_
7
8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "cc/layers/picture_layer.h"
11
12 namespace cc {
13
14 class FakePictureLayer : public PictureLayer {
15  public:
16   static scoped_refptr<FakePictureLayer> Create(ContentLayerClient* client) {
17     return make_scoped_refptr(new FakePictureLayer(client));
18   }
19
20   virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl)
21       OVERRIDE;
22
23   size_t update_count() const { return update_count_; }
24   void reset_update_count() { update_count_ = 0; }
25
26   size_t push_properties_count() const { return push_properties_count_; }
27   void reset_push_properties_count() { push_properties_count_ = 0; }
28
29   void set_always_update_resources(bool always_update_resources) {
30     always_update_resources_ = always_update_resources;
31   }
32
33   virtual bool Update(ResourceUpdateQueue* queue,
34                       const OcclusionTracker<Layer>* occlusion) OVERRIDE;
35
36   virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE;
37
38   virtual void OnOutputSurfaceCreated() OVERRIDE;
39   size_t output_surface_created_count() const {
40     return output_surface_created_count_;
41   }
42
43  private:
44   explicit FakePictureLayer(ContentLayerClient* client);
45   virtual ~FakePictureLayer();
46
47   size_t update_count_;
48   size_t push_properties_count_;
49   bool always_update_resources_;
50   size_t output_surface_created_count_;
51 };
52
53 }  // namespace cc
54
55 #endif  // CC_TEST_FAKE_PICTURE_LAYER_H_