| Index: cc/trees/property_tree_builder.cc
|
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
|
| index 70175387c5bbc0f5097e8f73f54949b649b26439..91d812c2558c2f646b638151ffcf4736e7e3ef01 100644
|
| --- a/cc/trees/property_tree_builder.cc
|
| +++ b/cc/trees/property_tree_builder.cc
|
| @@ -455,12 +455,27 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
|
| layer->SetClipTreeIndex(data_for_children->clip_tree_parent);
|
| }
|
|
|
| +static inline int SortingContextId(Layer* layer) {
|
| + return layer->sorting_context_id();
|
| +}
|
| +
|
| +static inline int SortingContextId(LayerImpl* layer) {
|
| + return layer->test_properties()->sorting_context_id;
|
| +}
|
| +
|
| +static inline bool Is3dSorted(Layer* layer) {
|
| + return layer->Is3dSorted();
|
| +}
|
| +
|
| +static inline bool Is3dSorted(LayerImpl* layer) {
|
| + return layer->test_properties()->sorting_context_id != 0;
|
| +}
|
| +
|
| template <typename LayerType>
|
| static inline bool IsAtBoundaryOf3dRenderingContext(LayerType* layer) {
|
| return Parent(layer)
|
| - ? Parent(layer)->sorting_context_id() !=
|
| - layer->sorting_context_id()
|
| - : layer->Is3dSorted();
|
| + ? SortingContextId(Parent(layer)) != SortingContextId(layer)
|
| + : Is3dSorted(layer);
|
| }
|
|
|
| static inline gfx::Point3F TransformOrigin(Layer* layer) {
|
| @@ -611,7 +626,7 @@ bool AddTransformNodeIfNeeded(
|
| node->should_be_snapped = is_snapped;
|
| node->flattens_inherited_transform = data_for_children->should_flatten;
|
|
|
| - node->sorting_context_id = layer->sorting_context_id();
|
| + node->sorting_context_id = SortingContextId(layer);
|
|
|
| if (layer == data_from_ancestor.page_scale_layer)
|
| data_for_children->in_subtree_of_page_scale_layer = true;
|
| @@ -773,8 +788,8 @@ static inline bool ForceRenderSurface(LayerImpl* layer) {
|
|
|
| template <typename LayerType>
|
| static inline bool LayerIsInExisting3DRenderingContext(LayerType* layer) {
|
| - return layer->Is3dSorted() && Parent(layer) && Parent(layer)->Is3dSorted() &&
|
| - (Parent(layer)->sorting_context_id() == layer->sorting_context_id());
|
| + return Is3dSorted(layer) && Parent(layer) && Is3dSorted(Parent(layer)) &&
|
| + (SortingContextId(Parent(layer)) == SortingContextId(layer));
|
| }
|
|
|
| static inline bool IsRootForIsolatedGroup(Layer* layer) {
|
| @@ -1196,8 +1211,8 @@ void SetBackfaceVisibilityTransform(LayerType* layer,
|
| // whether we are in a 3d rendering context by checking if the parent
|
| // preserves 3d.
|
| const bool use_local_transform =
|
| - !layer->Is3dSorted() ||
|
| - (layer->Is3dSorted() && is_at_boundary_of_3d_rendering_context);
|
| + !Is3dSorted(layer) ||
|
| + (Is3dSorted(layer) && is_at_boundary_of_3d_rendering_context);
|
| layer->SetUseLocalTransformForBackfaceVisibility(use_local_transform);
|
|
|
| // A double-sided layer's backface can been shown when its visibile.
|
|
|