fake_painted_scrollbar_layer.cc revision 3551c9c881056c480085172ff9840cab31610854
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  SetAnchorPoint(gfx::PointF(0.f, 0.f));
32  SetBounds(gfx::Size(1, 1));
33  SetIsDrawable(true);
34}
35
36FakePaintedScrollbarLayer::~FakePaintedScrollbarLayer() {}
37
38bool FakePaintedScrollbarLayer::Update(ResourceUpdateQueue* queue,
39                                       const OcclusionTracker* 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