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

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

Issue 2728253002: Remove indirection: setup scrollbar scroll layers in the scrollbar constructor (Closed)
Patch Set: Really fix reivewer comment Created 3 years, 9 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
« no previous file with comments | « cc/blink/web_scrollbar_layer_impl.h ('k') | cc/layers/painted_overlay_scrollbar_layer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 16 matching lines...) Expand all
27 : cc::VERTICAL; 27 : cc::VERTICAL;
28 } 28 }
29 29
30 } // namespace 30 } // namespace
31 31
32 namespace cc_blink { 32 namespace cc_blink {
33 33
34 WebScrollbarLayerImpl::WebScrollbarLayerImpl( 34 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
35 std::unique_ptr<blink::WebScrollbar> scrollbar, 35 std::unique_ptr<blink::WebScrollbar> scrollbar,
36 blink::WebScrollbarThemePainter painter, 36 blink::WebScrollbarThemePainter painter,
37 std::unique_ptr<blink::WebScrollbarThemeGeometry> geometry)
38 : layer_(new WebLayerImpl(PaintedScrollbarLayer::Create(
39 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar),
40 painter,
41 std::move(geometry)),
42 0))) {}
43
44 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
45 std::unique_ptr<blink::WebScrollbar> scrollbar,
46 blink::WebScrollbarThemePainter painter,
47 std::unique_ptr<blink::WebScrollbarThemeGeometry> geometry, 37 std::unique_ptr<blink::WebScrollbarThemeGeometry> geometry,
48 bool) 38 bool is_overlay,
49 : layer_(new WebLayerImpl(PaintedOverlayScrollbarLayer::Create( 39 blink::WebLayer* scroll_layer)
50 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar), 40 : layer_(
51 painter, 41 is_overlay
52 std::move(geometry)), 42 ? new WebLayerImpl(PaintedOverlayScrollbarLayer::Create(
53 0))) {} 43 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar),
44 painter,
45 std::move(geometry)),
46 static_cast<WebLayerImpl*>(scroll_layer)->layer()->id()))
47 : new WebLayerImpl(PaintedScrollbarLayer::Create(
48 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar),
49 painter,
50 std::move(geometry)),
51 static_cast<WebLayerImpl*>(scroll_layer)->layer()->id()))) {
52 }
54 53
55 WebScrollbarLayerImpl::WebScrollbarLayerImpl( 54 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
56 blink::WebScrollbar::Orientation orientation, 55 blink::WebScrollbar::Orientation orientation,
57 int thumb_thickness, 56 int thumb_thickness,
58 int track_start, 57 int track_start,
59 bool is_left_side_vertical_scrollbar) 58 bool is_left_side_vertical_scrollbar,
60 : layer_(new WebLayerImpl( 59 blink::WebLayer* scroll_layer)
61 SolidColorScrollbarLayer::Create(ConvertOrientation(orientation), 60 : layer_(new WebLayerImpl(SolidColorScrollbarLayer::Create(
62 thumb_thickness, 61 ConvertOrientation(orientation),
63 track_start, 62 thumb_thickness,
64 is_left_side_vertical_scrollbar, 63 track_start,
65 0))) {} 64 is_left_side_vertical_scrollbar,
65 static_cast<WebLayerImpl*>(scroll_layer)->layer()->id()))) {}
66 66
67 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() { 67 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() {
68 } 68 }
69 69
70 blink::WebLayer* WebScrollbarLayerImpl::layer() { 70 blink::WebLayer* WebScrollbarLayerImpl::layer() {
71 return layer_.get(); 71 return layer_.get();
72 } 72 }
73 73
74 void WebScrollbarLayerImpl::setScrollLayer(blink::WebLayer* layer) {
75 cc::Layer* scroll_layer =
76 layer ? static_cast<WebLayerImpl*>(layer)->layer() : 0;
77 layer_->layer()->ToScrollbarLayer()->SetScrollLayer(
78 scroll_layer ? scroll_layer->id() : cc::Layer::INVALID_ID);
79 }
80
81 } // namespace cc_blink 74 } // namespace cc_blink
OLDNEW
« no previous file with comments | « cc/blink/web_scrollbar_layer_impl.h ('k') | cc/layers/painted_overlay_scrollbar_layer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698