Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "cc/layers/scrollbar_layer_impl_base.h" | 5 #include "cc/layers/scrollbar_layer_impl_base.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include "cc/base/math_util.h" | |
| 8 #include "cc/trees/effect_node.h" | 9 #include "cc/trees/effect_node.h" |
| 9 #include "cc/trees/layer_tree_impl.h" | 10 #include "cc/trees/layer_tree_impl.h" |
| 10 #include "ui/gfx/geometry/rect_conversions.h" | 11 #include "ui/gfx/geometry/rect_conversions.h" |
| 11 | 12 |
| 12 namespace cc { | 13 namespace cc { |
| 13 | 14 |
| 14 ScrollbarLayerImplBase::ScrollbarLayerImplBase( | 15 ScrollbarLayerImplBase::ScrollbarLayerImplBase( |
| 15 LayerTreeImpl* tree_impl, | 16 LayerTreeImpl* tree_impl, |
| 16 int id, | 17 int id, |
| 17 ScrollbarOrientation orientation, | 18 ScrollbarOrientation orientation, |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 60 current_pos_ = current_pos; | 61 current_pos_ = current_pos; |
| 61 NoteLayerPropertyChanged(); | 62 NoteLayerPropertyChanged(); |
| 62 return true; | 63 return true; |
| 63 } | 64 } |
| 64 | 65 |
| 65 bool ScrollbarLayerImplBase::CanScrollOrientation() const { | 66 bool ScrollbarLayerImplBase::CanScrollOrientation() const { |
| 66 LayerImpl* scroll_layer = layer_tree_impl()->LayerById(scroll_layer_id_); | 67 LayerImpl* scroll_layer = layer_tree_impl()->LayerById(scroll_layer_id_); |
| 67 if (!scroll_layer) | 68 if (!scroll_layer) |
| 68 return false; | 69 return false; |
| 69 return scroll_layer->user_scrollable(orientation()) && | 70 return scroll_layer->user_scrollable(orientation()) && |
| 71 !MathUtil::IsFloatNearlyTheSame(clip_layer_length_, | |
|
bokan
2017/04/10 14:20:56
Thinking about this some more: this limit is kind
| |
| 72 scroll_layer_length_) && | |
| 70 clip_layer_length_ < scroll_layer_length_; | 73 clip_layer_length_ < scroll_layer_length_; |
| 71 } | 74 } |
| 72 | 75 |
| 73 bool ScrollbarLayerImplBase::SetVerticalAdjust(float vertical_adjust) { | 76 bool ScrollbarLayerImplBase::SetVerticalAdjust(float vertical_adjust) { |
| 74 if (vertical_adjust_ == vertical_adjust) | 77 if (vertical_adjust_ == vertical_adjust) |
| 75 return false; | 78 return false; |
| 76 vertical_adjust_ = vertical_adjust; | 79 vertical_adjust_ = vertical_adjust; |
| 77 NoteLayerPropertyChanged(); | 80 NoteLayerPropertyChanged(); |
| 78 return true; | 81 return true; |
| 79 } | 82 } |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 226 layer_tree_impl()->AddToOpacityAnimationsMap(id(), opacity); | 229 layer_tree_impl()->AddToOpacityAnimationsMap(id(), opacity); |
| 227 | 230 |
| 228 node->opacity = opacity; | 231 node->opacity = opacity; |
| 229 node->effect_changed = true; | 232 node->effect_changed = true; |
| 230 property_trees->changed = true; | 233 property_trees->changed = true; |
| 231 property_trees->effect_tree.set_needs_update(true); | 234 property_trees->effect_tree.set_needs_update(true); |
| 232 layer_tree_impl()->set_needs_update_draw_properties(); | 235 layer_tree_impl()->set_needs_update_draw_properties(); |
| 233 } | 236 } |
| 234 | 237 |
| 235 } // namespace cc | 238 } // namespace cc |
| OLD | NEW |