| Index: cc/trees/property_tree_builder.cc
|
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
|
| index 8af9eb8a6c41a46666c8a4cc1438af6a0b59877a..1f9e6e376bea768cf1445c713f8040b535bfe6f3 100644
|
| --- a/cc/trees/property_tree_builder.cc
|
| +++ b/cc/trees/property_tree_builder.cc
|
| @@ -232,10 +232,15 @@ bool AddTransformNodeIfNeeded(
|
| layer->parent()->effect_tree_index() !=
|
| layer->scroll_parent()->effect_tree_index();
|
|
|
| + const bool is_at_boundary_of_3d_rendering_context =
|
| + layer->parent()
|
| + ? layer->parent()->sorting_context_id() != layer->sorting_context_id()
|
| + : layer->Is3dSorted();
|
| bool requires_node = is_root || is_scrollable || has_significant_transform ||
|
| has_any_transform_animation || has_surface || is_fixed ||
|
| is_page_scale_layer || is_overscroll_elasticity_layer ||
|
| - scroll_child_has_different_target;
|
| + scroll_child_has_different_target ||
|
| + is_at_boundary_of_3d_rendering_context;
|
|
|
| LayerType* transform_parent = GetTransformParent(data_from_ancestor, layer);
|
| DCHECK(is_root || transform_parent);
|
| @@ -312,6 +317,8 @@ bool AddTransformNodeIfNeeded(
|
| node->data.scrolls = is_scrollable;
|
| node->data.flattens_inherited_transform = data_for_children->should_flatten;
|
|
|
| + node->data.sorting_context_id = layer->sorting_context_id();
|
| +
|
| if (layer == data_from_ancestor.page_scale_layer)
|
| data_for_children->in_subtree_of_page_scale_layer = true;
|
| node->data.in_subtree_of_page_scale_layer =
|
|
|