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_picture_layer.h"
6
7#include "cc/test/fake_picture_layer_impl.h"
8
9namespace cc {
10
11FakePictureLayer::FakePictureLayer(ContentLayerClient* client)
12    : PictureLayer(client),
13      update_count_(0),
14      push_properties_count_(0),
15      always_update_resources_(false),
16      output_surface_created_count_(0) {
17  SetBounds(gfx::Size(1, 1));
18  SetIsDrawable(true);
19}
20
21FakePictureLayer::~FakePictureLayer() {}
22
23scoped_ptr<LayerImpl> FakePictureLayer::CreateLayerImpl(
24    LayerTreeImpl* tree_impl) {
25  return FakePictureLayerImpl::Create(tree_impl, layer_id_).PassAs<LayerImpl>();
26}
27
28bool FakePictureLayer::Update(ResourceUpdateQueue* queue,
29                              const OcclusionTracker<Layer>* occlusion) {
30  bool updated = PictureLayer::Update(queue, occlusion);
31  update_count_++;
32  return updated || always_update_resources_;
33}
34
35void FakePictureLayer::PushPropertiesTo(LayerImpl* layer) {
36  PictureLayer::PushPropertiesTo(layer);
37  push_properties_count_++;
38}
39
40void FakePictureLayer::OnOutputSurfaceCreated() {
41  PictureLayer::OnOutputSurfaceCreated();
42  output_surface_created_count_++;
43}
44
45}  // namespace cc
46