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#include "cc/test/fake_content_layer.h"
6
7#include "cc/resources/content_layer_updater.h"
8#include "cc/resources/prioritized_resource.h"
9#include "cc/test/fake_content_layer_impl.h"
10
11namespace cc {
12
13class FakeContentLayerUpdater : public ContentLayerUpdater {
14 public:
15  using ContentLayerUpdater::content_rect;
16
17 private:
18  virtual ~FakeContentLayerUpdater() {}
19};
20
21FakeContentLayer::FakeContentLayer(ContentLayerClient* client)
22    : ContentLayer(client),
23      update_count_(0),
24      push_properties_count_(0),
25      output_surface_created_count_(0),
26      always_update_resources_(false) {
27  SetAnchorPoint(gfx::PointF(0.f, 0.f));
28  SetBounds(gfx::Size(1, 1));
29  SetIsDrawable(true);
30}
31
32FakeContentLayer::~FakeContentLayer() {}
33
34scoped_ptr<LayerImpl> FakeContentLayer::CreateLayerImpl(
35    LayerTreeImpl* tree_impl) {
36  return FakeContentLayerImpl::Create(tree_impl, layer_id_).PassAs<LayerImpl>();
37}
38
39bool FakeContentLayer::Update(ResourceUpdateQueue* queue,
40                              const OcclusionTracker* occlusion) {
41  bool updated = ContentLayer::Update(queue, occlusion);
42  update_count_++;
43  return updated || always_update_resources_;
44}
45
46gfx::Rect FakeContentLayer::LastPaintRect() const {
47  return (static_cast<FakeContentLayerUpdater*>
48          (Updater()))->content_rect();
49}
50
51void FakeContentLayer::PushPropertiesTo(LayerImpl* layer) {
52  ContentLayer::PushPropertiesTo(layer);
53  push_properties_count_++;
54}
55
56void FakeContentLayer::OnOutputSurfaceCreated() {
57  ContentLayer::OnOutputSurfaceCreated();
58  output_surface_created_count_++;
59}
60
61bool FakeContentLayer::HaveBackingAt(int i, int j) {
62  const PrioritizedResource* resource = ResourceAtForTesting(i, j);
63  return resource && resource->have_backing_texture();
64}
65
66}  // namespace cc
67