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::content_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   SetAnchorPoint(gfx::PointF(0.f, 0.f));
     28   SetBounds(gfx::Size(1, 1));
     29   SetIsDrawable(true);
     30 }
     31 
     32 FakeContentLayer::~FakeContentLayer() {}
     33 
     34 scoped_ptr<LayerImpl> FakeContentLayer::CreateLayerImpl(
     35     LayerTreeImpl* tree_impl) {
     36   return FakeContentLayerImpl::Create(tree_impl, layer_id_).PassAs<LayerImpl>();
     37 }
     38 
     39 bool 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 
     46 gfx::Rect FakeContentLayer::LastPaintRect() const {
     47   return (static_cast<FakeContentLayerUpdater*>
     48           (Updater()))->content_rect();
     49 }
     50 
     51 void FakeContentLayer::PushPropertiesTo(LayerImpl* layer) {
     52   ContentLayer::PushPropertiesTo(layer);
     53   push_properties_count_++;
     54 }
     55 
     56 void FakeContentLayer::OnOutputSurfaceCreated() {
     57   ContentLayer::OnOutputSurfaceCreated();
     58   output_surface_created_count_++;
     59 }
     60 
     61 bool 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