| Index: cc/trees/draw_property_utils.cc
|
| diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc
|
| index 366fafc6df72640bd27cca9bab90176a8eecf8d6..f3b2a2fcbec88ae17ffcc2744e34b40101a1cf26 100644
|
| --- a/cc/trees/draw_property_utils.cc
|
| +++ b/cc/trees/draw_property_utils.cc
|
| @@ -1559,16 +1559,21 @@ static void UpdateElasticOverscrollInternal(
|
| const LayerType* overscroll_elasticity_layer,
|
| const gfx::Vector2dF& elastic_overscroll) {
|
| if (!overscroll_elasticity_layer) {
|
| - DCHECK(elastic_overscroll.IsZero());
|
| + // When only the viewport has elasticity, elastic_overscroll should be zero
|
| + // here, but for now elasticity doesn't bubble up, only down. So, that won't
|
| + // be the case if a sublayer has its own overscroll.
|
| + // TODO(tapted): Give the viewport overscroll and completely remove
|
| + // overscroll_elasticity_layer.
|
| return;
|
| }
|
|
|
| TransformNode* node = property_trees->transform_tree.Node(
|
| overscroll_elasticity_layer->transform_tree_index());
|
| - if (node->scroll_offset == gfx::ScrollOffset(elastic_overscroll))
|
| + if (node->scroll_offset_with_overscroll ==
|
| + gfx::ScrollOffset(elastic_overscroll))
|
| return;
|
|
|
| - node->scroll_offset = gfx::ScrollOffset(elastic_overscroll);
|
| + node->scroll_offset_with_overscroll = gfx::ScrollOffset(elastic_overscroll);
|
| node->needs_local_transform_update = true;
|
| property_trees->transform_tree.set_needs_update(true);
|
| }
|
|
|