Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "webkit/renderer/compositor_bindings/web_scrollbar_layer_impl.h" | 5 #include "webkit/renderer/compositor_bindings/web_scrollbar_layer_impl.h" |
| 6 | 6 |
| 7 #include "cc/input/viewport_scrollbar.h" | |
| 7 #include "cc/layers/scrollbar_layer.h" | 8 #include "cc/layers/scrollbar_layer.h" |
| 8 #include "third_party/WebKit/public/platform/WebScrollbar.h" | |
| 9 #include "webkit/renderer/compositor_bindings/scrollbar_impl.h" | 9 #include "webkit/renderer/compositor_bindings/scrollbar_impl.h" |
| 10 #include "webkit/renderer/compositor_bindings/web_layer_impl.h" | |
| 11 | 10 |
| 12 using cc::ScrollbarLayer; | 11 using cc::ScrollbarLayer; |
| 12 using cc::ViewportScrollbar; | |
| 13 | 13 |
| 14 namespace webkit { | 14 namespace webkit { |
| 15 | 15 |
| 16 WebScrollbarLayerImpl::WebScrollbarLayerImpl( | 16 WebScrollbarLayerImpl::WebScrollbarLayerImpl( |
| 17 WebKit::WebScrollbar* scrollbar, | 17 WebKit::WebScrollbar* scrollbar, |
| 18 WebKit::WebScrollbarThemePainter painter, | 18 WebKit::WebScrollbarThemePainter painter, |
| 19 WebKit::WebScrollbarThemeGeometry* geometry) | 19 WebKit::WebScrollbarThemeGeometry* geometry) |
| 20 : layer_(new WebLayerImpl(ScrollbarLayer::Create( | 20 : layer_(new WebLayerImpl(ScrollbarLayer::Create( |
| 21 scoped_ptr<cc::Scrollbar>(new ScrollbarImpl( | 21 scoped_ptr<cc::Scrollbar>(new ScrollbarImpl( |
| 22 make_scoped_ptr(scrollbar), | 22 make_scoped_ptr(scrollbar), |
| 23 painter, | 23 painter, |
| 24 make_scoped_ptr(geometry))).Pass(), 0))) {} | 24 make_scoped_ptr(geometry))).Pass(), 0))) {} |
| 25 | 25 |
| 26 WebScrollbarLayerImpl::WebScrollbarLayerImpl( | |
|
enne (OOO)
2013/06/12 19:44:38
I am not really sure this is in line with what I w
wjmaclean
2013/06/12 19:54:36
By "behave identically" you mean using cc:Scrollba
trchen
2013/06/12 21:22:11
I agree with enne@ that we should avoid adding new
| |
| 27 WebKit::WebLayer* scroll_layer, | |
| 28 WebKit::WebScrollbar::Orientation orientation, | |
| 29 size_t thickness) | |
| 30 : layer_(new WebLayerImpl(ScrollbarLayer::Create( | |
| 31 scoped_ptr<cc::Scrollbar>(new ViewportScrollbar( | |
| 32 static_cast<WebLayerImpl*>(scroll_layer)->layer(), | |
| 33 orientation == WebKit::WebScrollbar::Horizontal ? cc::HORIZONTAL | |
| 34 : cc::VERTICAL, | |
| 35 thickness)), | |
| 36 0))) { | |
| 37 // Do this here to be consistent with the layer passed to the | |
| 38 // ViewportScrollbar. | |
| 39 setScrollLayer(scroll_layer); | |
| 40 } | |
| 41 | |
| 26 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() {} | 42 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() {} |
| 27 | 43 |
| 28 WebKit::WebLayer* WebScrollbarLayerImpl::layer() { return layer_.get(); } | 44 WebKit::WebLayer* WebScrollbarLayerImpl::layer() { return layer_.get(); } |
| 29 | 45 |
| 30 void WebScrollbarLayerImpl::setScrollLayer(WebKit::WebLayer* layer) { | 46 void WebScrollbarLayerImpl::setScrollLayer(WebKit::WebLayer* layer) { |
| 31 int id = layer ? static_cast<WebLayerImpl*>(layer)->layer()->id() : 0; | 47 int id = layer ? static_cast<WebLayerImpl*>(layer)->layer()->id() : 0; |
| 32 static_cast<ScrollbarLayer*>(layer_->layer())->SetScrollLayerId(id); | 48 static_cast<ScrollbarLayer*>(layer_->layer())->SetScrollLayerId(id); |
| 33 } | 49 } |
| 34 | 50 |
| 35 } // namespace webkit | 51 } // namespace webkit |
| OLD | NEW |