Home | History | Annotate | Download | only in test
      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:
     18   virtual ~FakeContentLayerUpdater() {}
     19 };
     20 
     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 
     31 FakeContentLayer::~FakeContentLayer() {}
     32 
     33 scoped_ptr<LayerImpl> FakeContentLayer::CreateLayerImpl(
     34     LayerTreeImpl* tree_impl) {
     35   return FakeContentLayerImpl::Create(tree_impl, layer_id_).PassAs<LayerImpl>();
     36 }
     37 
     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 
     45 gfx::Rect FakeContentLayer::LastPaintRect() const {
     46   return (static_cast<FakeContentLayerUpdater*>(Updater()))->paint_rect();
     47 }
     48 
     49 void FakeContentLayer::PushPropertiesTo(LayerImpl* layer) {
     50   ContentLayer::PushPropertiesTo(layer);
     51   push_properties_count_++;
     52 }
     53 
     54 void FakeContentLayer::OnOutputSurfaceCreated() {
     55   ContentLayer::OnOutputSurfaceCreated();
     56   output_surface_created_count_++;
     57 }
     58 
     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