Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_painted_scrollbar_layer.cc
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   SetBounds(gfx::Size(1, 1));
32   SetIsDrawable(true);
33 }
34
35 FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {}
36
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
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