cc: Store lists of nodes affected by bounds_delta in the transform tree
This adds lists of nodes affected by inner viewport or outer viewport
bounds delta to the transform tree, and uses these lists to determine
which nodes need to have their local transform updated because of a
bounds delta change (rather than always updating the local transform
of every node affected by bounds delta).
BUG=497806
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/5bcff153554728c6e893b59b00aa55a95468931e
Cr-Commit-Position: refs/heads/master@{#336620}
Review URL: https://codereview.chromium.org/1215753002
Cr-Commit-Position: refs/heads/master@{#336864}
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index 9c6c1c2..932e032 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -217,22 +217,10 @@
&property_trees_.clip_tree);
TransformTree& transform_tree = property_trees_.transform_tree;
- if (inner_container) {
- if (inner_container->bounds_delta() !=
- transform_tree.inner_viewport_bounds_delta()) {
- transform_tree.set_inner_viewport_bounds_delta(
- inner_container->bounds_delta());
- transform_tree.set_needs_update(true);
- }
- }
- if (outer_container) {
- if (outer_container->bounds_delta() !=
- transform_tree.outer_viewport_bounds_delta()) {
- transform_tree.set_outer_viewport_bounds_delta(
- outer_container->bounds_delta());
- transform_tree.set_needs_update(true);
- }
- }
+ if (inner_container)
+ transform_tree.SetInnerViewportBoundsDelta(inner_container->bounds_delta());
+ if (outer_container)
+ transform_tree.SetOuterViewportBoundsDelta(outer_container->bounds_delta());
}
void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) {