summaryrefslogtreecommitdiffstats
path: root/webkit/compositor_bindings/WebScrollbarLayerImpl.cpp
blob: f216de3f51b3e6e0f840a84990142506b9f35338 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "config.h"
#include "WebScrollbarLayerImpl.h"

#include "ScrollbarLayerChromium.h"
#include "WebLayerImpl.h"

using cc::ScrollbarLayerChromium;

namespace WebKit {

WebScrollbarLayer* WebScrollbarLayer::create(WebScrollbar* scrollbar, WebScrollbarThemePainter painter, WebScrollbarThemeGeometry* geometry)
{
    return new WebScrollbarLayerImpl(scrollbar, painter, geometry);
}


WebScrollbarLayerImpl::WebScrollbarLayerImpl(WebScrollbar* scrollbar, WebScrollbarThemePainter painter, WebScrollbarThemeGeometry* geometry)
    : m_layer(adoptPtr(new WebLayerImpl(ScrollbarLayerChromium::create(adoptPtr(scrollbar), painter, adoptPtr(geometry), 0))))
{
}

WebScrollbarLayerImpl::~WebScrollbarLayerImpl()
{
}

WebLayer* WebScrollbarLayerImpl::layer()
{
    return m_layer.get();
}

void WebScrollbarLayerImpl::setScrollLayer(WebLayer* layer)
{
    int id = layer ? static_cast<WebLayerImpl*>(layer)->layer()->id() : 0;
    static_cast<ScrollbarLayerChromium*>(m_layer->layer())->setScrollLayerId(id);
}



} // namespace WebKit