• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
11 namespace cc {
12 
13 class FakeContentLayerUpdater : public ContentLayerUpdater {
14  public:
15   using ContentLayerUpdater::paint_rect;
16 
17  private:
~FakeContentLayerUpdater()18   virtual ~FakeContentLayerUpdater() {}
19 };
20 
FakeContentLayer(ContentLayerClient * client)21 FakeContentLayer::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   SetBounds(gfx::Size(1, 1));
28   SetIsDrawable(true);
29 }
30 
~FakeContentLayer()31 FakeContentLayer::~FakeContentLayer() {}
32 
CreateLayerImpl(LayerTreeImpl * tree_impl)33 scoped_ptr<LayerImpl> FakeContentLayer::CreateLayerImpl(
34     LayerTreeImpl* tree_impl) {
35   return FakeContentLayerImpl::Create(tree_impl, layer_id_).PassAs<LayerImpl>();
36 }
37 
Update(ResourceUpdateQueue * queue,const OcclusionTracker<Layer> * occlusion)38 bool FakeContentLayer::Update(ResourceUpdateQueue* queue,
39                               const OcclusionTracker<Layer>* occlusion) {
40   bool updated = ContentLayer::Update(queue, occlusion);
41   update_count_++;
42   return updated || always_update_resources_;
43 }
44 
LastPaintRect() const45 gfx::Rect FakeContentLayer::LastPaintRect() const {
46   return (static_cast<FakeContentLayerUpdater*>(Updater()))->paint_rect();
47 }
48 
PushPropertiesTo(LayerImpl * layer)49 void FakeContentLayer::PushPropertiesTo(LayerImpl* layer) {
50   ContentLayer::PushPropertiesTo(layer);
51   push_properties_count_++;
52 }
53 
OnOutputSurfaceCreated()54 void FakeContentLayer::OnOutputSurfaceCreated() {
55   ContentLayer::OnOutputSurfaceCreated();
56   output_surface_created_count_++;
57 }
58 
HaveBackingAt(int i,int j)59 bool FakeContentLayer::HaveBackingAt(int i, int j) {
60   const PrioritizedResource* resource = ResourceAtForTesting(i, j);
61   return resource && resource->have_backing_texture();
62 }
63 
64 }  // namespace cc
65