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 93ff9d196d03f3e2ac1a6bd459447124926ff03e..432de98dbfb3272508d22f6c4ccc4a3cd2107388 100644 |
| --- a/cc/trees/property_tree_builder.cc |
| +++ b/cc/trees/property_tree_builder.cc |
| @@ -79,11 +79,10 @@ static bool RequiresClipNode(LayerType* layer, |
| if (!render_surface_applies_clip) |
| return false; |
| - bool axis_aligned_with_respect_to_parent = |
| - data.transform_tree->Are2DAxisAligned(layer->transform_tree_index(), |
| - parent_transform_id); |
| + if (layer->parent()) |
|
ajuma
2015/08/06 14:25:46
return !!layer-parent();
jaydasika
2015/08/06 16:39:34
Done.
|
| + return true; |
| - return !axis_aligned_with_respect_to_parent; |
| + return false; |
| } |
| template <typename LayerType> |
| @@ -122,7 +121,7 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor, |
| parent_id = 0; |
| if (!RequiresClipNode(layer, data_from_ancestor, parent->data.transform_id, |
| - data_for_children->ancestor_clips_subtree)) { |
| + ancestor_clips_subtree)) { |
| // Unclipped surfaces reset the clip rect. |
| data_for_children->clip_tree_parent = parent_id; |
| } else { |
| @@ -138,7 +137,9 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor, |
| node.data.target_id = |
| data_for_children->render_target->transform_tree_index(); |
| node.owner_id = layer->id(); |
| - |
| + node.data.inherit_parent_target_space_clip = |
| + !data_for_children->ancestor_clips_subtree && |
| + layer->has_render_surface() && ancestor_clips_subtree; |
| data_for_children->clip_tree_parent = |
| data_for_children->clip_tree->Insert(node, parent_id); |
| } |