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 12namespace cc { 13 14class 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_ 56