Home | History | Annotate | Download | only in test
      1 // Copyright 2013 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_painted_scrollbar_layer.h"
      6 
      7 #include "base/auto_reset.h"
      8 #include "cc/resources/resource_update_queue.h"
      9 #include "cc/test/fake_scrollbar.h"
     10 
     11 namespace cc {
     12 
     13 scoped_refptr<FakePaintedScrollbarLayer> FakePaintedScrollbarLayer::Create(
     14     bool paint_during_update,
     15     bool has_thumb,
     16     int scrolling_layer_id) {
     17   FakeScrollbar* fake_scrollbar = new FakeScrollbar(
     18       paint_during_update, has_thumb, false);
     19   return make_scoped_refptr(new FakePaintedScrollbarLayer(
     20       fake_scrollbar, scrolling_layer_id));
     21 }
     22 
     23 FakePaintedScrollbarLayer::FakePaintedScrollbarLayer(
     24     FakeScrollbar* fake_scrollbar,
     25     int scrolling_layer_id)
     26     : PaintedScrollbarLayer(scoped_ptr<Scrollbar>(fake_scrollbar).Pass(),
     27                             scrolling_layer_id),
     28       update_count_(0),
     29       push_properties_count_(0),
     30       fake_scrollbar_(fake_scrollbar) {
     31   SetBounds(gfx::Size(1, 1));
     32   SetIsDrawable(true);
     33 }
     34 
     35 FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {}
     36 
     37 bool FakePaintedScrollbarLayer::Update(
     38     ResourceUpdateQueue* queue,
     39     const OcclusionTracker<Layer>* occlusion) {
     40   bool updated = PaintedScrollbarLayer::Update(queue, occlusion);
     41   ++update_count_;
     42   return updated;
     43 }
     44 
     45 void FakePaintedScrollbarLayer::PushPropertiesTo(LayerImpl* layer) {
     46   PaintedScrollbarLayer::PushPropertiesTo(layer);
     47   ++push_properties_count_;
     48 }
     49 
     50 scoped_ptr<base::AutoReset<bool> >
     51 FakePaintedScrollbarLayer::IgnoreSetNeedsCommit() {
     52   return make_scoped_ptr(
     53       new base::AutoReset<bool>(&ignore_set_needs_commit_, true));
     54 }
     55 
     56 }  // namespace cc
     57