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

Unified Diff: cc/trees/property_tree_builder.cc

Issue 2048723002: cc: Compute mask draw properties directly (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
Index: cc/trees/property_tree_builder.cc
diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
index 7343b242fad6609a304c34339e574f89fbb757d3..6ab91fd52248ddfd757083b090cdb2a0f45c059d 100644
--- a/cc/trees/property_tree_builder.cc
+++ b/cc/trees/property_tree_builder.cc
@@ -476,8 +476,6 @@ bool AddTransformNodeIfNeeded(
layer->set_should_flatten_transform_from_property_tree(
data_from_ancestor.should_flatten);
layer->SetTransformTreeIndex(parent_index);
- if (layer->mask_layer())
- layer->mask_layer()->SetTransformTreeIndex(parent_index);
return false;
}
@@ -489,8 +487,6 @@ bool AddTransformNodeIfNeeded(
layer->SetTransformTreeIndex(node->id);
data_for_children->property_trees->transform_id_to_index_map[layer->id()] =
node->id;
- if (layer->mask_layer())
- layer->mask_layer()->SetTransformTreeIndex(node->id);
node->data.scrolls = is_scrollable;
node->data.flattens_inherited_transform = data_for_children->should_flatten;
@@ -1059,9 +1055,6 @@ void BuildPropertyTreesInternal(
DataForRecursionFromChild<LayerType>* data_to_parent) {
layer->set_property_tree_sequence_number(
data_from_parent.property_trees->sequence_number);
- if (layer->mask_layer())
- layer->mask_layer()->set_property_tree_sequence_number(
- data_from_parent.property_trees->sequence_number);
DataForRecursion<LayerType> data_for_children(data_from_parent);
@@ -1122,6 +1115,17 @@ void BuildPropertyTreesInternal(
data_to_parent->Merge(data_from_child);
}
+ if (layer->mask_layer()) {
+ layer->mask_layer()->set_property_tree_sequence_number(
+ data_from_parent.property_trees->sequence_number);
+ layer->mask_layer()->set_offset_to_transform_parent(
+ layer->offset_to_transform_parent());
+ layer->mask_layer()->SetTransformTreeIndex(layer->transform_tree_index());
+ layer->mask_layer()->SetClipTreeIndex(layer->clip_tree_index());
+ layer->mask_layer()->SetEffectTreeIndex(layer->effect_tree_index());
+ layer->mask_layer()->SetScrollTreeIndex(layer->scroll_tree_index());
+ }
+
EffectNode* effect_node = data_for_children.property_trees->effect_tree.Node(
data_for_children.effect_tree_parent);
« cc/trees/layer_tree_host_common.cc ('K') | « cc/trees/layer_tree_host_common_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698