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