Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: cc/blink/web_scrollbar_layer_impl.cc

Issue 2816063003: Replace layer id with Element id for tracking scrollbar animation controllers (Closed)
Patch Set: Address reviewer comments, pull element_id.h change to another patch Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/blink/web_scrollbar_layer_impl.h" 5 #include "cc/blink/web_scrollbar_layer_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "cc/blink/scrollbar_impl.h" 10 #include "cc/blink/scrollbar_impl.h"
11 #include "cc/blink/web_layer_impl.h" 11 #include "cc/blink/web_layer_impl.h"
12 #include "cc/layers/layer.h" 12 #include "cc/layers/layer.h"
13 #include "cc/layers/painted_overlay_scrollbar_layer.h" 13 #include "cc/layers/painted_overlay_scrollbar_layer.h"
14 #include "cc/layers/painted_scrollbar_layer.h" 14 #include "cc/layers/painted_scrollbar_layer.h"
15 #include "cc/layers/scrollbar_layer_interface.h" 15 #include "cc/layers/scrollbar_layer_interface.h"
16 #include "cc/layers/solid_color_scrollbar_layer.h" 16 #include "cc/layers/solid_color_scrollbar_layer.h"
17 #include "cc/trees/element_id.h"
17 18
18 using cc::PaintedOverlayScrollbarLayer; 19 using cc::PaintedOverlayScrollbarLayer;
19 using cc::PaintedScrollbarLayer; 20 using cc::PaintedScrollbarLayer;
20 using cc::SolidColorScrollbarLayer; 21 using cc::SolidColorScrollbarLayer;
21 22
22 namespace { 23 namespace {
23 24
24 cc::ScrollbarOrientation ConvertOrientation( 25 cc::ScrollbarOrientation ConvertOrientation(
25 blink::WebScrollbar::Orientation orientation) { 26 blink::WebScrollbar::Orientation orientation) {
26 return orientation == blink::WebScrollbar::kHorizontal ? cc::HORIZONTAL 27 return orientation == blink::WebScrollbar::kHorizontal ? cc::HORIZONTAL
27 : cc::VERTICAL; 28 : cc::VERTICAL;
28 } 29 }
29 30
30 } // namespace 31 } // namespace
31 32
32 namespace cc_blink { 33 namespace cc_blink {
33 34
34 WebScrollbarLayerImpl::WebScrollbarLayerImpl( 35 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
35 std::unique_ptr<blink::WebScrollbar> scrollbar, 36 std::unique_ptr<blink::WebScrollbar> scrollbar,
36 blink::WebScrollbarThemePainter painter, 37 blink::WebScrollbarThemePainter painter,
37 std::unique_ptr<blink::WebScrollbarThemeGeometry> geometry, 38 std::unique_ptr<blink::WebScrollbarThemeGeometry> geometry,
38 bool is_overlay) 39 bool is_overlay)
39 : layer_(is_overlay 40 : layer_(is_overlay
40 ? new WebLayerImpl(PaintedOverlayScrollbarLayer::Create( 41 ? new WebLayerImpl(PaintedOverlayScrollbarLayer::Create(
41 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar), 42 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar),
42 painter, 43 painter,
43 std::move(geometry)), 44 std::move(geometry)),
44 cc::Layer::INVALID_ID)) 45 cc::Layer::INVALID_ID,
46 cc::ElementId()))
45 : new WebLayerImpl(PaintedScrollbarLayer::Create( 47 : new WebLayerImpl(PaintedScrollbarLayer::Create(
46 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar), 48 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar),
47 painter, 49 painter,
48 std::move(geometry)), 50 std::move(geometry)),
49 cc::Layer::INVALID_ID))) {} 51 cc::Layer::INVALID_ID,
52 cc::ElementId()))) {}
50 53
51 WebScrollbarLayerImpl::WebScrollbarLayerImpl( 54 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
52 blink::WebScrollbar::Orientation orientation, 55 blink::WebScrollbar::Orientation orientation,
53 int thumb_thickness, 56 int thumb_thickness,
54 int track_start, 57 int track_start,
55 bool is_left_side_vertical_scrollbar) 58 bool is_left_side_vertical_scrollbar)
56 : layer_(new WebLayerImpl( 59 : layer_(new WebLayerImpl(
57 SolidColorScrollbarLayer::Create(ConvertOrientation(orientation), 60 SolidColorScrollbarLayer::Create(ConvertOrientation(orientation),
58 thumb_thickness, 61 thumb_thickness,
59 track_start, 62 track_start,
60 is_left_side_vertical_scrollbar, 63 is_left_side_vertical_scrollbar,
61 cc::Layer::INVALID_ID))) {} 64 cc::Layer::INVALID_ID,
65 cc::ElementId()))) {}
62 66
63 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() { 67 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() {
64 } 68 }
65 69
66 blink::WebLayer* WebScrollbarLayerImpl::Layer() { 70 blink::WebLayer* WebScrollbarLayerImpl::Layer() {
67 return layer_.get(); 71 return layer_.get();
68 } 72 }
69 73
70 void WebScrollbarLayerImpl::SetScrollLayer(blink::WebLayer* layer) { 74 void WebScrollbarLayerImpl::SetScrollLayer(blink::WebLayer* layer) {
71 cc::Layer* scroll_layer = 75 cc::Layer* scroll_layer =
72 layer ? static_cast<WebLayerImpl*>(layer)->layer() : 0; 76 layer ? static_cast<WebLayerImpl*>(layer)->layer() : 0;
73 layer_->layer()->ToScrollbarLayer()->SetScrollLayer( 77 layer_->layer()->ToScrollbarLayer()->SetScrollInfo(
74 scroll_layer ? scroll_layer->id() : cc::Layer::INVALID_ID); 78 scroll_layer ? scroll_layer->id() : cc::Layer::INVALID_ID,
79 scroll_layer ? scroll_layer->element_id() : cc::ElementId());
75 } 80 }
76 81
77 } // namespace cc_blink 82 } // namespace cc_blink
OLDNEW
« no previous file with comments | « no previous file | cc/input/scrollbar_animation_controller_unittest.cc » ('j') | cc/layers/scrollbar_layer_impl_base.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698