summaryrefslogtreecommitdiff
path: root/chromium/cc/trees/draw_property_utils.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-24 11:30:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-30 12:56:19 +0000
commit6036726eb981b6c4b42047513b9d3f4ac865daac (patch)
tree673593e70678e7789766d1f732eb51f613a2703b /chromium/cc/trees/draw_property_utils.cc
parent466052c4e7c052268fd931888cd58961da94c586 (diff)
downloadqtwebengine-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.cc51
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