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

Unified Diff: cc/trees/property_tree_builder.cc

Issue 1811423002: SubtreeShouldBeSkipped uses information from property trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 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') | no next file » | 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 befc6a514caddb485965811fa0c0d3e08bfd8a10..7b4300b9fab6c98ffa833d4eae1f6481e0cba1bd 100644
--- a/cc/trees/property_tree_builder.cc
+++ b/cc/trees/property_tree_builder.cc
@@ -612,6 +612,7 @@ bool AddEffectNodeIfNeeded(
node.data.has_copy_request = layer->HasCopyRequest();
node.data.has_background_filters = !layer->background_filters().IsEmpty();
node.data.has_animated_opacity = has_animated_opacity;
+ node.data.double_sided = layer->double_sided();
if (!is_root) {
// The effect node's transform id is used only when we create a render
@@ -625,6 +626,12 @@ bool AddEffectNodeIfNeeded(
data_from_ancestor.transform_tree->next_available_id();
}
node.data.clip_id = data_from_ancestor.clip_tree_parent;
+ EffectNode* parent_node = data_for_children->effect_tree->Node(parent_id);
+ node.data.node_or_ancestor_has_background_filters =
+ parent_node->data.node_or_ancestor_has_background_filters ||
+ node.data.has_background_filters;
+ node.data.to_screen_opacity_is_animated =
+ parent_node->data.to_screen_opacity_is_animated || has_animated_opacity;
} else {
// Root render surface acts the unbounded and untransformed to draw content
// into. Transform node created from root layer (includes device scale
@@ -632,6 +639,9 @@ bool AddEffectNodeIfNeeded(
// to root render surface's content, but not root render surface itself.
node.data.transform_id = kRootPropertyTreeNodeId;
node.data.clip_id = kRootPropertyTreeNodeId;
+ node.data.node_or_ancestor_has_background_filters =
+ node.data.has_background_filters;
+ node.data.to_screen_opacity_is_animated = has_animated_opacity;
}
node.data.target_id =
should_create_render_surface
« no previous file with comments | « cc/trees/property_tree.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698