Chromium Code Reviews| Index: cc/trees/property_tree_builder.cc |
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc |
| index 85bdbececf615f892b1b4e1b89399b9a530ab733..5cedeaec17d229bea8ec3fe7a8e3271bf99e1a79 100644 |
| --- a/cc/trees/property_tree_builder.cc |
| +++ b/cc/trees/property_tree_builder.cc |
| @@ -48,6 +48,7 @@ struct DataForRecursion { |
| bool should_flatten; |
| bool target_is_clipped; |
| bool is_hidden; |
| + bool contributes_to_copy_request; |
| const gfx::Transform* device_transform; |
| gfx::Vector2dF scroll_compensation_adjustment; |
| gfx::Transform compound_transform_since_render_target; |
| @@ -574,6 +575,14 @@ bool AddEffectNodeIfNeeded( |
| node.data.opacity = layer->opacity(); |
| node.data.screen_space_opacity = layer->opacity(); |
| node.data.has_render_surface = should_create_render_surface; |
| + // A node contributes to copy request when it is in the subtree of a layer |
| + // with a copy request and is visible inside the copy request. |
| + data_for_children->contributes_to_copy_request = |
| + layer->HasCopyRequest() || |
| + (data_from_ancestor.contributes_to_copy_request && |
| + layer->opacity() != 0.f); |
| + node.data.contributes_to_copy_request = |
|
ajuma
2016/01/15 15:02:47
Does this value need to get updated on the composi
jaydasika
2016/01/19 20:02:49
Done.
|
| + data_for_children->contributes_to_copy_request; |
| if (!is_root) { |
| // The effect node's transform id is used only when we create a render |
| @@ -637,10 +646,6 @@ void BuildPropertyTreesInternal( |
| AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, |
| created_transform_node, &data_for_children); |
| - data_for_children.is_hidden = |
| - layer->hide_layer_and_subtree() || data_from_parent.is_hidden; |
| - layer->set_is_hidden_from_property_trees(data_for_children.is_hidden); |
| - |
| for (size_t i = 0; i < layer->children().size(); ++i) { |
| if (!layer->child_at(i)->scroll_parent()) { |
| DataForRecursionFromChild<LayerType> data_from_child; |
| @@ -732,6 +737,7 @@ void BuildPropertyTreesTopLevelInternal( |
| data_for_recursion.should_flatten = false; |
| data_for_recursion.target_is_clipped = false; |
| data_for_recursion.is_hidden = false; |
| + data_for_recursion.contributes_to_copy_request = false; |
| data_for_recursion.device_transform = &device_transform; |
| data_for_recursion.transform_tree->clear(); |