diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-24 11:30:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-30 12:56:19 +0000 |
commit | 6036726eb981b6c4b42047513b9d3f4ac865daac (patch) | |
tree | 673593e70678e7789766d1f732eb51f613a2703b /chromium/cc/trees/draw_property_utils.cc | |
parent | 466052c4e7c052268fd931888cd58961da94c586 (diff) | |
download | qtwebengine-chromium-6036726eb981b6c4b42047513b9d3f4ac865daac.tar.gz |
BASELINE: Update Chromium to 70.0.3538.78
Change-Id: Ie634710bf039e26c1957f4ae45e101bd4c434ae7
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/cc/trees/draw_property_utils.cc')
-rw-r--r-- | chromium/cc/trees/draw_property_utils.cc | 51 |
1 files changed, 15 insertions, 36 deletions
diff --git a/chromium/cc/trees/draw_property_utils.cc b/chromium/cc/trees/draw_property_utils.cc index 1628a53c0c6..666b849d014 100644 --- a/chromium/cc/trees/draw_property_utils.cc +++ b/chromium/cc/trees/draw_property_utils.cc @@ -464,33 +464,6 @@ static inline bool LayerShouldBeSkippedInternal( effect_node->hidden_by_backface_visibility || !effect_node->is_drawn; } -template <typename LayerType> -static void UpdateElasticOverscrollInternal( - PropertyTrees* property_trees, - const LayerType* overscroll_elasticity_layer, - const gfx::Vector2dF& elastic_overscroll) { - if (!overscroll_elasticity_layer) { - DCHECK(elastic_overscroll.IsZero()); - return; - } - - TransformNode* node = property_trees->transform_tree.Node( - overscroll_elasticity_layer->transform_tree_index()); - DCHECK(node); - - // TODO(pdr): This is a workaround for https://crbug.com/721772 to avoid - // crashing when there's no transform node. This workaround should be removed. - if (!node) - return; - - if (node->scroll_offset == gfx::ScrollOffset(elastic_overscroll)) - return; - - node->scroll_offset = gfx::ScrollOffset(elastic_overscroll); - node->needs_local_transform_update = true; - property_trees->transform_tree.set_needs_update(true); -} - static gfx::Rect LayerDrawableContentRect( const LayerImpl* layer, const gfx::Rect& layer_bounds_in_target_space, @@ -1025,17 +998,23 @@ void UpdatePageScaleFactor(PropertyTrees* property_trees, } void UpdateElasticOverscroll(PropertyTrees* property_trees, - const LayerImpl* overscroll_elasticity_layer, + const ElementId overscroll_elasticity_element_id, const gfx::Vector2dF& elastic_overscroll) { - UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, - elastic_overscroll); -} + if (!overscroll_elasticity_element_id) { + DCHECK(elastic_overscroll.IsZero()); + return; + } -void UpdateElasticOverscroll(PropertyTrees* property_trees, - const Layer* overscroll_elasticity_layer, - const gfx::Vector2dF& elastic_overscroll) { - UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, - elastic_overscroll); + TransformNode* node = property_trees->transform_tree.FindNodeFromElementId( + overscroll_elasticity_element_id); + DCHECK(node); + + if (node->scroll_offset == gfx::ScrollOffset(elastic_overscroll)) + return; + + node->scroll_offset = gfx::ScrollOffset(elastic_overscroll); + node->needs_local_transform_update = true; + property_trees->transform_tree.set_needs_update(true); } } // namespace draw_property_utils |