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.
5 #include "cc/test/fake_painted_scrollbar_layer.h"
7 #include "base/auto_reset.h"
8 #include "cc/resources/resource_update_queue.h"
9 #include "cc/test/fake_scrollbar.h"
13 scoped_refptr
<FakePaintedScrollbarLayer
> FakePaintedScrollbarLayer::Create(
14 bool paint_during_update
,
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
));
23 FakePaintedScrollbarLayer::FakePaintedScrollbarLayer(
24 FakeScrollbar
* fake_scrollbar
,
25 int scrolling_layer_id
)
26 : PaintedScrollbarLayer(scoped_ptr
<Scrollbar
>(fake_scrollbar
).Pass(),
29 push_properties_count_(0),
30 fake_scrollbar_(fake_scrollbar
) {
31 SetBounds(gfx::Size(1, 1));
35 FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {}
37 bool FakePaintedScrollbarLayer::Update(
38 ResourceUpdateQueue
* queue
,
39 const OcclusionTracker
<Layer
>* occlusion
) {
40 bool updated
= PaintedScrollbarLayer::Update(queue
, occlusion
);
45 void FakePaintedScrollbarLayer::PushPropertiesTo(LayerImpl
* layer
) {
46 PaintedScrollbarLayer::PushPropertiesTo(layer
);
47 ++push_properties_count_
;
50 scoped_ptr
<base::AutoReset
<bool> >
51 FakePaintedScrollbarLayer::IgnoreSetNeedsCommit() {
52 return make_scoped_ptr(
53 new base::AutoReset
<bool>(&ignore_set_needs_commit_
, true));