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); |
} |