| Index: cc/trees/property_tree_builder.cc
|
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
|
| index 28ad43f309111ac26e9eb433bc3e5acaf11f6500..8ad44070ec7ffdf6d648c6356e6673153b9366d3 100644
|
| --- a/cc/trees/property_tree_builder.cc
|
| +++ b/cc/trees/property_tree_builder.cc
|
| @@ -100,7 +100,8 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
|
| int parent_id = parent->id;
|
|
|
| bool ancestor_clips_subtree =
|
| - data_from_ancestor.ancestor_clips_subtree || layer->clip_parent();
|
| + data_from_ancestor.ancestor_clips_subtree ||
|
| + (layer->clip_parent() && layer->clip_parent()->is_clipped());
|
|
|
| data_for_children->ancestor_clips_subtree = false;
|
| bool has_unclipped_surface = false;
|
| @@ -145,6 +146,8 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
|
| layer->SetClipTreeIndex(
|
| has_unclipped_surface ? 0 : data_for_children->clip_tree_parent);
|
|
|
| + layer->set_is_clipped(data_for_children->ancestor_clips_subtree);
|
| +
|
| // TODO(awoloszyn): Right now when we hit a node with a replica, we reset the
|
| // clip for all children since we may need to draw. We need to figure out a
|
| // better way, since we will need both the clipped and unclipped versions.
|
|
|