Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3765)

Unified Diff: cc/trees/property_tree_builder.cc

Issue 1013463003: Update from https://crrev.com/320931 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/property_tree_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/property_tree_builder.cc
diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
index 8352ab88dc638ae942422cfa42709123ebb7a9ad..0db2ad706ae5e83e27cfebda3aebb86da5363b2f 100644
--- a/cc/trees/property_tree_builder.cc
+++ b/cc/trees/property_tree_builder.cc
@@ -173,6 +173,8 @@ void AddTransformNodeIfNeeded(const DataForRecursion& data_from_ancestor,
gfx::Vector2dF local_offset = layer->position().OffsetFromOrigin() +
layer->transform().To2dTranslation();
layer->set_offset_to_transform_parent(parent_offset + local_offset);
+ layer->set_should_flatten_transform_from_property_tree(
+ data_from_ancestor.should_flatten);
layer->set_transform_tree_index(transform_parent->transform_tree_index());
return;
}
@@ -188,8 +190,10 @@ void AddTransformNodeIfNeeded(const DataForRecursion& data_from_ancestor,
node->data.scrolls = is_scrollable;
node->data.flattens_inherited_transform = data_for_children->should_flatten;
- node->data.flattens_local_transform = layer->should_flatten_transform();
- data_for_children->should_flatten = false;
+
+ // Surfaces inherently flatten transforms.
+ data_for_children->should_flatten =
+ layer->should_flatten_transform() || has_surface;
node->data.target_id =
data_from_ancestor.render_target->transform_tree_index();
node->data.content_target_id =
@@ -233,6 +237,9 @@ void AddTransformNodeIfNeeded(const DataForRecursion& data_from_ancestor,
data_from_ancestor.transform_tree->UpdateTransforms(node->id);
layer->set_offset_to_transform_parent(gfx::Vector2dF());
+
+ // Flattening (if needed) will be handled by |node|.
+ layer->set_should_flatten_transform_from_property_tree(false);
}
void AddOpacityNodeIfNeeded(const DataForRecursion& data_from_ancestor,
« no previous file with comments | « cc/trees/property_tree.cc ('k') | cc/trees/property_tree_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698