blob: e676c3eed1e14c20494d4bcc854f4cb4a3eebc4b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cc/layers/scrollbar_layer_base.h"
#include "cc/layers/scrollbar_layer_impl_base.h"
namespace cc {
ScrollbarLayerBase::ScrollbarLayerBase(ScrollbarOrientation orientation,
bool is_left_side_vertical_scrollbar)
: orientation_(orientation),
is_left_side_vertical_scrollbar_(is_left_side_vertical_scrollbar) {
SetIsScrollbar(true);
}
ScrollbarLayerBase::~ScrollbarLayerBase() = default;
void ScrollbarLayerBase::SetScrollElementId(ElementId element_id) {
if (element_id == scroll_element_id_)
return;
scroll_element_id_ = element_id;
SetNeedsCommit();
}
void ScrollbarLayerBase::PushPropertiesTo(LayerImpl* layer) {
Layer::PushPropertiesTo(layer);
auto* scrollbar_layer_impl = static_cast<ScrollbarLayerImplBase*>(layer);
DCHECK_EQ(scrollbar_layer_impl->orientation(), orientation_);
DCHECK_EQ(scrollbar_layer_impl->is_left_side_vertical_scrollbar(),
is_left_side_vertical_scrollbar_);
scrollbar_layer_impl->SetScrollElementId(scroll_element_id_);
}
} // namespace cc
|