• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
Create(bool paint_during_update,bool has_thumb,int scrolling_layer_id)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 
FakePaintedScrollbarLayer(FakeScrollbar * fake_scrollbar,int scrolling_layer_id)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 
~FakePaintedScrollbarLayer()35 FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {}
36 
Update(ResourceUpdateQueue * queue,const OcclusionTracker<Layer> * occlusion)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 
PushPropertiesTo(LayerImpl * layer)45 void FakePaintedScrollbarLayer::PushPropertiesTo(LayerImpl* layer) {
46   PaintedScrollbarLayer::PushPropertiesTo(layer);
47   ++push_properties_count_;
48 }
49 
50 scoped_ptr<base::AutoReset<bool> >
IgnoreSetNeedsCommit()51 FakePaintedScrollbarLayer::IgnoreSetNeedsCommit() {
52   return make_scoped_ptr(
53       new base::AutoReset<bool>(&ignore_set_needs_commit_, true));
54 }
55 
56 }  // namespace cc
57