Home | History | Annotate | Download | only in blink
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CC_BLINK_WEB_SCROLLBAR_LAYER_IMPL_H_
      6 #define CC_BLINK_WEB_SCROLLBAR_LAYER_IMPL_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "cc/blink/cc_blink_export.h"
     10 #include "third_party/WebKit/public/platform/WebScrollbar.h"
     11 #include "third_party/WebKit/public/platform/WebScrollbarLayer.h"
     12 
     13 namespace blink {
     14 class WebScrollbarThemeGeometry;
     15 class WebScrollbarThemePainter;
     16 }
     17 
     18 namespace cc_blink {
     19 
     20 class WebLayerImpl;
     21 
     22 class WebScrollbarLayerImpl : public blink::WebScrollbarLayer {
     23  public:
     24   CC_BLINK_EXPORT WebScrollbarLayerImpl(
     25       blink::WebScrollbar* scrollbar,
     26       blink::WebScrollbarThemePainter painter,
     27       blink::WebScrollbarThemeGeometry* geometry);
     28   CC_BLINK_EXPORT WebScrollbarLayerImpl(
     29       blink::WebScrollbar::Orientation orientation,
     30       int thumb_thickness,
     31       int track_start,
     32       bool is_left_side_vertical_scrollbar);
     33   virtual ~WebScrollbarLayerImpl();
     34 
     35   // blink::WebScrollbarLayer implementation.
     36   virtual blink::WebLayer* layer();
     37   virtual void setScrollLayer(blink::WebLayer* layer);
     38   virtual void setClipLayer(blink::WebLayer* layer);
     39 
     40  private:
     41   scoped_ptr<WebLayerImpl> layer_;
     42 
     43   DISALLOW_COPY_AND_ASSIGN(WebScrollbarLayerImpl);
     44 };
     45 
     46 }  // namespace cc_blink
     47 
     48 #endif  // CC_BLINK_WEB_SCROLLBAR_LAYER_IMPL_H_
     49