Home | History | Annotate | Download | only in compositor_bindings
      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
      3 // found in the LICENSE file.
      4 
      5 #include "webkit/renderer/compositor_bindings/web_scrollbar_layer_impl.h"
      6 
      7 #include "cc/layers/scrollbar_layer.h"
      8 #include "third_party/WebKit/public/platform/WebScrollbar.h"
      9 #include "webkit/renderer/compositor_bindings/scrollbar_impl.h"
     10 #include "webkit/renderer/compositor_bindings/web_layer_impl.h"
     11 
     12 using cc::ScrollbarLayer;
     13 
     14 namespace webkit {
     15 
     16 WebScrollbarLayerImpl::WebScrollbarLayerImpl(
     17     WebKit::WebScrollbar* scrollbar,
     18     WebKit::WebScrollbarThemePainter painter,
     19     WebKit::WebScrollbarThemeGeometry* geometry)
     20     : layer_(new WebLayerImpl(ScrollbarLayer::Create(
     21           scoped_ptr<cc::Scrollbar>(new ScrollbarImpl(
     22               make_scoped_ptr(scrollbar),
     23               painter,
     24               make_scoped_ptr(geometry))).Pass(), 0))) {}
     25 
     26 WebScrollbarLayerImpl::~WebScrollbarLayerImpl() {}
     27 
     28 WebKit::WebLayer* WebScrollbarLayerImpl::layer() { return layer_.get(); }
     29 
     30 void WebScrollbarLayerImpl::setScrollLayer(WebKit::WebLayer* layer) {
     31   int id = layer ? static_cast<WebLayerImpl*>(layer)->layer()->id() : 0;
     32   static_cast<ScrollbarLayer*>(layer_->layer())->SetScrollLayerId(id);
     33 }
     34 
     35 }  // namespace webkit
     36