• 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 #ifndef CC_TEST_FAKE_PAINTED_SCROLLBAR_LAYER_H_
6 #define CC_TEST_FAKE_PAINTED_SCROLLBAR_LAYER_H_
7 
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/layers/painted_scrollbar_layer.h"
10 #include "cc/test/fake_scrollbar.h"
11 
12 namespace base { template<typename T> class AutoReset; }
13 
14 namespace cc {
15 
16 class FakePaintedScrollbarLayer : public PaintedScrollbarLayer {
17  public:
18   static scoped_refptr<FakePaintedScrollbarLayer>
19       Create(bool paint_during_update, bool has_thumb, int scrolling_layer_id);
update_count()20   int update_count() const { return update_count_; }
reset_update_count()21   void reset_update_count() { update_count_ = 0; }
22 
23   virtual bool Update(ResourceUpdateQueue* queue,
24                       const OcclusionTracker<Layer>* occlusion) OVERRIDE;
25 
26   virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE;
27 
28   scoped_ptr<base::AutoReset<bool> > IgnoreSetNeedsCommit();
29 
push_properties_count()30   size_t push_properties_count() const { return push_properties_count_; }
reset_push_properties_count()31   void reset_push_properties_count() { push_properties_count_ = 0; }
32 
33   // For unit tests
track_resource_id()34   UIResourceId track_resource_id() {
35     return PaintedScrollbarLayer::track_resource_id();
36   }
thumb_resource_id()37   UIResourceId thumb_resource_id() {
38     return PaintedScrollbarLayer::thumb_resource_id();
39   }
fake_scrollbar()40   FakeScrollbar* fake_scrollbar() {
41     return fake_scrollbar_;
42   }
43   using PaintedScrollbarLayer::UpdateThumbAndTrackGeometry;
44 
45  private:
46   FakePaintedScrollbarLayer(FakeScrollbar* fake_scrollbar,
47                             int scrolling_layer_id);
48   virtual ~FakePaintedScrollbarLayer();
49 
50   int update_count_;
51   size_t push_properties_count_;
52   FakeScrollbar* fake_scrollbar_;
53 };
54 
55 }  // namespace cc
56 
57 #endif  // CC_TEST_FAKE_PAINTED_SCROLLBAR_LAYER_H_
58