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.
5 #include "cc/test/fake_content_layer.h"
7 #include "cc/resources/content_layer_updater.h"
8 #include "cc/resources/prioritized_resource.h"
9 #include "cc/test/fake_content_layer_impl.h"
13 class FakeContentLayerUpdater
: public ContentLayerUpdater
{
15 using ContentLayerUpdater::content_rect
;
18 virtual ~FakeContentLayerUpdater() {}
21 FakeContentLayer::FakeContentLayer(ContentLayerClient
* client
)
22 : ContentLayer(client
),
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));
32 FakeContentLayer::~FakeContentLayer() {}
34 scoped_ptr
<LayerImpl
> FakeContentLayer::CreateLayerImpl(
35 LayerTreeImpl
* tree_impl
) {
36 return FakeContentLayerImpl::Create(tree_impl
, layer_id_
).PassAs
<LayerImpl
>();
39 bool FakeContentLayer::Update(ResourceUpdateQueue
* queue
,
40 const OcclusionTracker
<Layer
>* occlusion
) {
41 bool updated
= ContentLayer::Update(queue
, occlusion
);
43 return updated
|| always_update_resources_
;
46 gfx::Rect
FakeContentLayer::LastPaintRect() const {
47 return (static_cast<FakeContentLayerUpdater
*>
48 (Updater()))->content_rect();
51 void FakeContentLayer::PushPropertiesTo(LayerImpl
* layer
) {
52 ContentLayer::PushPropertiesTo(layer
);
53 push_properties_count_
++;
56 void FakeContentLayer::OnOutputSurfaceCreated() {
57 ContentLayer::OnOutputSurfaceCreated();
58 output_surface_created_count_
++;
61 bool FakeContentLayer::HaveBackingAt(int i
, int j
) {
62 const PrioritizedResource
* resource
= ResourceAtForTesting(i
, j
);
63 return resource
&& resource
->have_backing_texture();