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

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

Issue 2389973002: Use std::unique_ptr to signal ownership transfer in WebCompositorSupport (Closed)
Patch Set: rebase Created 4 years, 2 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>
8
7 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
8 #include "cc/blink/scrollbar_impl.h" 10 #include "cc/blink/scrollbar_impl.h"
9 #include "cc/blink/web_layer_impl.h" 11 #include "cc/blink/web_layer_impl.h"
10 #include "cc/layers/layer.h" 12 #include "cc/layers/layer.h"
11 #include "cc/layers/painted_scrollbar_layer.h" 13 #include "cc/layers/painted_scrollbar_layer.h"
12 #include "cc/layers/scrollbar_layer_interface.h" 14 #include "cc/layers/scrollbar_layer_interface.h"
13 #include "cc/layers/solid_color_scrollbar_layer.h" 15 #include "cc/layers/solid_color_scrollbar_layer.h"
14 16
15 using cc::PaintedScrollbarLayer; 17 using cc::PaintedScrollbarLayer;
16 using cc::SolidColorScrollbarLayer; 18 using cc::SolidColorScrollbarLayer;
17 19
18 namespace { 20 namespace {
19 21
20 cc::ScrollbarOrientation ConvertOrientation( 22 cc::ScrollbarOrientation ConvertOrientation(
21 blink::WebScrollbar::Orientation orientation) { 23 blink::WebScrollbar::Orientation orientation) {
22 return orientation == blink::WebScrollbar::Horizontal ? cc::HORIZONTAL 24 return orientation == blink::WebScrollbar::Horizontal ? cc::HORIZONTAL
23 : cc::VERTICAL; 25 : cc::VERTICAL;
24 } 26 }
25 27
26 } // namespace 28 } // namespace
27 29
28 namespace cc_blink { 30 namespace cc_blink {
29 31
30 WebScrollbarLayerImpl::WebScrollbarLayerImpl( 32 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
31 blink::WebScrollbar* scrollbar, 33 std::unique_ptr<blink::WebScrollbar> scrollbar,
32 blink::WebScrollbarThemePainter painter, 34 blink::WebScrollbarThemePainter painter,
33 blink::WebScrollbarThemeGeometry* geometry) 35 std::unique_ptr<blink::WebScrollbarThemeGeometry> geometry)
34 : layer_(new WebLayerImpl(PaintedScrollbarLayer::Create( 36 : layer_(new WebLayerImpl(PaintedScrollbarLayer::Create(
35 37 base::MakeUnique<ScrollbarImpl>(std::move(scrollbar),
36 std::unique_ptr<cc::Scrollbar>( 38 painter,
37 new ScrollbarImpl(base::WrapUnique(scrollbar), 39 std::move(geometry)),
38 painter,
39 base::WrapUnique(geometry))),
40 0))) {} 40 0))) {}
41 41
42 WebScrollbarLayerImpl::WebScrollbarLayerImpl( 42 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
43 blink::WebScrollbar::Orientation orientation, 43 blink::WebScrollbar::Orientation orientation,
44 int thumb_thickness, 44 int thumb_thickness,
45 int track_start, 45 int track_start,
46 bool is_left_side_vertical_scrollbar) 46 bool is_left_side_vertical_scrollbar)
47 : layer_(new WebLayerImpl( 47 : layer_(new WebLayerImpl(
48 SolidColorScrollbarLayer::Create(ConvertOrientation(orientation), 48 SolidColorScrollbarLayer::Create(ConvertOrientation(orientation),
49 thumb_thickness, 49 thumb_thickness,
50 track_start, 50 track_start,
51 is_left_side_vertical_scrollbar, 51 is_left_side_vertical_scrollbar,
52 0))) {} 52 0))) {}
53 53
54 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() { 54 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() {
55 } 55 }
56 56
57 blink::WebLayer* WebScrollbarLayerImpl::layer() { 57 blink::WebLayer* WebScrollbarLayerImpl::layer() {
58 return layer_.get(); 58 return layer_.get();
59 } 59 }
60 60
61 void WebScrollbarLayerImpl::setScrollLayer(blink::WebLayer* layer) { 61 void WebScrollbarLayerImpl::setScrollLayer(blink::WebLayer* layer) {
62 cc::Layer* scroll_layer = 62 cc::Layer* scroll_layer =
63 layer ? static_cast<WebLayerImpl*>(layer)->layer() : 0; 63 layer ? static_cast<WebLayerImpl*>(layer)->layer() : 0;
64 layer_->layer()->ToScrollbarLayer()->SetScrollLayer( 64 layer_->layer()->ToScrollbarLayer()->SetScrollLayer(
65 scroll_layer ? scroll_layer->id() : cc::Layer::INVALID_ID); 65 scroll_layer ? scroll_layer->id() : cc::Layer::INVALID_ID);
66 } 66 }
67 67
68 } // namespace cc_blink 68 } // namespace cc_blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698