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 11namespace cc { 12 13scoped_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 23FakePaintedScrollbarLayer::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 35FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {} 36 37bool 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 45void FakePaintedScrollbarLayer::PushPropertiesTo(LayerImpl* layer) { 46 PaintedScrollbarLayer::PushPropertiesTo(layer); 47 ++push_properties_count_; 48} 49 50scoped_ptr<base::AutoReset<bool> > 51FakePaintedScrollbarLayer::IgnoreSetNeedsCommit() { 52 return make_scoped_ptr( 53 new base::AutoReset<bool>(&ignore_set_needs_commit_, true)); 54} 55 56} // namespace cc 57