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 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) 20 OVERRIDE; 21 22 size_t update_count() const { return update_count_; } 23 void reset_update_count() { update_count_ = 0; } 24 25 size_t push_properties_count() const { return push_properties_count_; } 26 void reset_push_properties_count() { push_properties_count_ = 0; } 27 28 virtual bool Update( 29 ResourceUpdateQueue* queue, 30 const OcclusionTracker* occlusion) OVERRIDE; 31 32 gfx::Rect LastPaintRect() const; 33 34 void set_always_update_resources(bool always_update_resources) { 35 always_update_resources_ = always_update_resources; 36 } 37 38 virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; 39 40 virtual void OnOutputSurfaceCreated() OVERRIDE; 41 size_t output_surface_created_count() const { 42 return output_surface_created_count_; 43 } 44 45 bool HaveBackingAt(int i, int j); 46 47 private: 48 explicit FakeContentLayer(ContentLayerClient* client); 49 virtual ~FakeContentLayer(); 50 51 size_t update_count_; 52 size_t push_properties_count_; 53 size_t output_surface_created_count_; 54 bool always_update_resources_; 55 }; 56 57 } // namespace cc 58 59 #endif // CC_TEST_FAKE_CONTENT_LAYER_H_ 60