fake_content_layer.h revision 558790d6acca3451cf3a6b497803a5f07d0bec58
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
11namespace cc {
12
13class 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