Home | History | Annotate | Download | only in test
      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   void set_always_update_resources(bool always_update_resources) {
     33     always_update_resources_ = always_update_resources;
     34   }
     35 
     36   virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE;
     37 
     38   bool HaveBackingAt(int i, int j);
     39 
     40  private:
     41   explicit FakeContentLayer(ContentLayerClient* client);
     42   virtual ~FakeContentLayer();
     43 
     44   size_t update_count_;
     45   size_t push_properties_count_;
     46   bool always_update_resources_;
     47 };
     48 
     49 }  // namespace cc
     50 
     51 #endif  // CC_TEST_FAKE_CONTENT_LAYER_H_
     52