| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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/trees/draw_property_utils.h" | 5 #include "cc/trees/draw_property_utils.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 1563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1574 page_scale_factor, device_scale_factor, | 1574 page_scale_factor, device_scale_factor, |
| 1575 device_transform); | 1575 device_transform); |
| 1576 } | 1576 } |
| 1577 | 1577 |
| 1578 template <typename LayerType> | 1578 template <typename LayerType> |
| 1579 static void UpdateElasticOverscrollInternal( | 1579 static void UpdateElasticOverscrollInternal( |
| 1580 PropertyTrees* property_trees, | 1580 PropertyTrees* property_trees, |
| 1581 const LayerType* overscroll_elasticity_layer, | 1581 const LayerType* overscroll_elasticity_layer, |
| 1582 const gfx::Vector2dF& elastic_overscroll) { | 1582 const gfx::Vector2dF& elastic_overscroll) { |
| 1583 if (!overscroll_elasticity_layer) { | 1583 if (!overscroll_elasticity_layer) { |
| 1584 DCHECK(elastic_overscroll.IsZero()); | 1584 // When only the viewport has elasticity, elastic_overscroll should be zero |
| 1585 // here, but for now elasticity doesn't bubble up, only down. So, that won't |
| 1586 // be the case if a sublayer has its own overscroll. |
| 1587 // TODO(tapted): Give the viewport overscroll and completely remove |
| 1588 // overscroll_elasticity_layer. |
| 1585 return; | 1589 return; |
| 1586 } | 1590 } |
| 1587 | 1591 |
| 1588 TransformNode* node = property_trees->transform_tree.Node( | 1592 TransformNode* node = property_trees->transform_tree.Node( |
| 1589 overscroll_elasticity_layer->transform_tree_index()); | 1593 overscroll_elasticity_layer->transform_tree_index()); |
| 1590 if (node->scroll_offset == gfx::ScrollOffset(elastic_overscroll)) | 1594 if (node->scroll_offset_with_overscroll == |
| 1595 gfx::ScrollOffset(elastic_overscroll)) |
| 1591 return; | 1596 return; |
| 1592 | 1597 |
| 1593 node->scroll_offset = gfx::ScrollOffset(elastic_overscroll); | 1598 node->scroll_offset_with_overscroll = gfx::ScrollOffset(elastic_overscroll); |
| 1594 node->needs_local_transform_update = true; | 1599 node->needs_local_transform_update = true; |
| 1595 property_trees->transform_tree.set_needs_update(true); | 1600 property_trees->transform_tree.set_needs_update(true); |
| 1596 } | 1601 } |
| 1597 | 1602 |
| 1598 void UpdateElasticOverscroll(PropertyTrees* property_trees, | 1603 void UpdateElasticOverscroll(PropertyTrees* property_trees, |
| 1599 const LayerImpl* overscroll_elasticity_layer, | 1604 const LayerImpl* overscroll_elasticity_layer, |
| 1600 const gfx::Vector2dF& elastic_overscroll) { | 1605 const gfx::Vector2dF& elastic_overscroll) { |
| 1601 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, | 1606 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, |
| 1602 elastic_overscroll); | 1607 elastic_overscroll); |
| 1603 } | 1608 } |
| 1604 | 1609 |
| 1605 void UpdateElasticOverscroll(PropertyTrees* property_trees, | 1610 void UpdateElasticOverscroll(PropertyTrees* property_trees, |
| 1606 const Layer* overscroll_elasticity_layer, | 1611 const Layer* overscroll_elasticity_layer, |
| 1607 const gfx::Vector2dF& elastic_overscroll) { | 1612 const gfx::Vector2dF& elastic_overscroll) { |
| 1608 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, | 1613 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, |
| 1609 elastic_overscroll); | 1614 elastic_overscroll); |
| 1610 } | 1615 } |
| 1611 | 1616 |
| 1612 } // namespace draw_property_utils | 1617 } // namespace draw_property_utils |
| 1613 | 1618 |
| 1614 } // namespace cc | 1619 } // namespace cc |
| OLD | NEW |