| Index: cc/layers/painted_scrollbar_layer.cc
|
| diff --git a/cc/layers/painted_scrollbar_layer.cc b/cc/layers/painted_scrollbar_layer.cc
|
| index 4466d58a3de7ac579aeb084aa4cd89287b5c7745..71a37d48883f8f07d592ff561e288e344917ed65 100644
|
| --- a/cc/layers/painted_scrollbar_layer.cc
|
| +++ b/cc/layers/painted_scrollbar_layer.cc
|
| @@ -33,11 +33,11 @@ scoped_refptr<PaintedScrollbarLayer> PaintedScrollbarLayer::Create(
|
| new PaintedScrollbarLayer(scrollbar.Pass(), scroll_layer_id));
|
| }
|
|
|
| -PaintedScrollbarLayer::PaintedScrollbarLayer(
|
| - scoped_ptr<Scrollbar> scrollbar,
|
| - int scroll_layer_id)
|
| +PaintedScrollbarLayer::PaintedScrollbarLayer(scoped_ptr<Scrollbar> scrollbar,
|
| + int scroll_layer_id)
|
| : scrollbar_(scrollbar.Pass()),
|
| scroll_layer_id_(scroll_layer_id),
|
| + clip_layer_id_(Layer::INVALID_ID),
|
| thumb_thickness_(scrollbar_->ThumbThickness()),
|
| thumb_length_(scrollbar_->ThumbLength()),
|
| is_overlay_(scrollbar_->IsOverlay()),
|
| @@ -52,11 +52,19 @@ int PaintedScrollbarLayer::ScrollLayerId() const {
|
| return scroll_layer_id_;
|
| }
|
|
|
| -void PaintedScrollbarLayer::SetScrollLayerId(int id) {
|
| - if (id == scroll_layer_id_)
|
| +void PaintedScrollbarLayer::SetScrollLayer(int layer_id) {
|
| + if (layer_id == scroll_layer_id_)
|
| + return;
|
| +
|
| + scroll_layer_id_ = layer_id;
|
| + SetNeedsFullTreeSync();
|
| +}
|
| +
|
| +void PaintedScrollbarLayer::SetClipLayer(int layer_id) {
|
| + if (layer_id == clip_layer_id_)
|
| return;
|
|
|
| - scroll_layer_id_ = id;
|
| + clip_layer_id_ = layer_id;
|
| SetNeedsFullTreeSync();
|
| }
|
|
|
| @@ -109,6 +117,8 @@ void PaintedScrollbarLayer::CalculateContentsScale(
|
| void PaintedScrollbarLayer::PushPropertiesTo(LayerImpl* layer) {
|
| ContentsScalingLayer::PushPropertiesTo(layer);
|
|
|
| + PushScrollClipPropertiesTo(layer);
|
| +
|
| PaintedScrollbarLayerImpl* scrollbar_layer =
|
| static_cast<PaintedScrollbarLayerImpl*>(layer);
|
|
|
| @@ -136,6 +146,14 @@ ScrollbarLayerInterface* PaintedScrollbarLayer::ToScrollbarLayer() {
|
| return this;
|
| }
|
|
|
| +void PaintedScrollbarLayer::PushScrollClipPropertiesTo(LayerImpl* layer) {
|
| + PaintedScrollbarLayerImpl* scrollbar_layer =
|
| + static_cast<PaintedScrollbarLayerImpl*>(layer);
|
| +
|
| + scrollbar_layer->SetScrollLayerById(scroll_layer_id_);
|
| + scrollbar_layer->SetClipLayerById(clip_layer_id_);
|
| +}
|
| +
|
| void PaintedScrollbarLayer::SetLayerTreeHost(LayerTreeHost* host) {
|
| // When the LTH is set to null or has changed, then this layer should remove
|
| // all of its associated resources.
|
|
|