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 SetAnchorPoint(gfx::PointF(0.f, 0.f)); 32 SetBounds(gfx::Size(1, 1)); 33 SetIsDrawable(true); 34 } 35 36 FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {} 37 38 bool FakePaintedScrollbarLayer::Update(ResourceUpdateQueue* queue, 39 const OcclusionTracker* 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