Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2636)

Unified Diff: cc/trees/property_tree_builder.cc

Issue 2053983003: cc : Move LayerImpl::parent to test properties (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/occlusion_tracker_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/property_tree_builder.cc
diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
index d8e7b98720b2f77ff9ba6f887a82718d16cdf3d8..7430a24a5d63c868d90d0bd4fc868ceeef0aab96 100644
--- a/cc/trees/property_tree_builder.cc
+++ b/cc/trees/property_tree_builder.cc
@@ -260,6 +260,14 @@ static int GetScrollParentId(const DataForRecursion<LayerType>& data,
return id;
}
+static Layer* Parent(Layer* layer) {
+ return layer->parent();
+}
+
+static LayerImpl* Parent(LayerImpl* layer) {
+ return layer->test_properties()->parent;
+}
+
template <typename LayerType>
void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
LayerType* layer,
@@ -269,7 +277,7 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
ClipNode* parent = GetClipParent(data_from_ancestor, layer);
int parent_id = parent->id;
- bool is_root = !layer->parent();
+ bool is_root = !Parent(layer);
// Whether we have an ancestor clip that we might need to apply.
bool ancestor_clips_subtree = is_root || parent->data.layers_are_clipped;
@@ -373,8 +381,8 @@ void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
template <typename LayerType>
static inline bool IsAtBoundaryOf3dRenderingContext(LayerType* layer) {
- return layer->parent()
- ? layer->parent()->sorting_context_id() !=
+ return Parent(layer)
+ ? Parent(layer)->sorting_context_id() !=
layer->sorting_context_id()
: layer->Is3dSorted();
}
@@ -409,7 +417,7 @@ bool AddTransformNodeIfNeeded(
LayerType* layer,
bool created_render_surface,
DataForRecursion<LayerType>* data_for_children) {
- const bool is_root = !layer->parent();
+ const bool is_root = !Parent(layer);
const bool is_page_scale_layer = layer == data_from_ancestor.page_scale_layer;
const bool is_overscroll_elasticity_layer =
layer == data_from_ancestor.overscroll_elasticity_layer;
@@ -436,7 +444,7 @@ bool AddTransformNodeIfNeeded(
// target.
const bool scroll_child_has_different_target =
ScrollParent(layer) &&
- layer->parent()->effect_tree_index() !=
+ Parent(layer)->effect_tree_index() !=
ScrollParent(layer)->effect_tree_index();
const bool is_at_boundary_of_3d_rendering_context =
@@ -460,7 +468,7 @@ bool AddTransformNodeIfNeeded(
gfx::Vector2dF source_offset;
if (transform_parent) {
if (ScrollParent(layer)) {
- LayerType* source = layer->parent();
+ LayerType* source = Parent(layer);
source_offset += source->offset_to_transform_parent();
source_index = source->transform_tree_index();
} else if (!is_fixed) {
@@ -482,7 +490,7 @@ bool AddTransformNodeIfNeeded(
if (is_scrollable) {
DCHECK(!is_root);
DCHECK(layer->transform().IsIdentity());
- data_for_children->transform_fixed_parent = layer->parent();
+ data_for_children->transform_fixed_parent = Parent(layer);
} else {
data_for_children->transform_fixed_parent = layer;
}
@@ -670,9 +678,8 @@ static inline bool ForceRenderSurface(LayerImpl* layer) {
template <typename LayerType>
static inline bool LayerIsInExisting3DRenderingContext(LayerType* layer) {
- return layer->Is3dSorted() && layer->parent() &&
- layer->parent()->Is3dSorted() &&
- (layer->parent()->sorting_context_id() == layer->sorting_context_id());
+ return layer->Is3dSorted() && Parent(layer) && Parent(layer)->Is3dSorted() &&
+ (Parent(layer)->sorting_context_id() == layer->sorting_context_id());
}
static inline bool IsRootForIsolatedGroup(Layer* layer) {
@@ -740,13 +747,13 @@ bool ShouldCreateRenderSurface(LayerType* layer,
const bool preserves_2d_axis_alignment =
(current_transform * layer->transform()).Preserves2dAxisAlignment() &&
axis_aligned && layer->AnimationsPreserveAxisAlignment();
- const bool is_root = !layer->parent();
+ const bool is_root = !Parent(layer);
if (is_root)
return true;
// If the layer uses a mask and the layer is not a replica layer.
// TODO(weiliangc): After slimming paint there won't be replica layers.
- if (MaskLayer(layer) && ReplicaLayer(layer->parent()) != layer) {
+ if (MaskLayer(layer) && ReplicaLayer(Parent(layer)) != layer) {
return true;
}
@@ -858,7 +865,7 @@ bool AddEffectNodeIfNeeded(
const DataForRecursion<LayerType>& data_from_ancestor,
LayerType* layer,
DataForRecursion<LayerType>* data_for_children) {
- const bool is_root = !layer->parent();
+ const bool is_root = !Parent(layer);
const bool has_transparency = EffectiveOpacity(layer) != 1.f;
const bool has_potential_opacity_animation =
HasPotentialOpacityAnimation(layer);
@@ -962,7 +969,7 @@ void AddScrollNodeIfNeeded(
DataForRecursion<LayerType>* data_for_children) {
int parent_id = GetScrollParentId(data_from_ancestor, layer);
- bool is_root = !layer->parent();
+ bool is_root = !Parent(layer);
bool scrollable = layer->scrollable();
bool contains_non_fast_scrollable_region =
!layer->non_fast_scrollable_region().IsEmpty();
@@ -1044,12 +1051,12 @@ void SetBackfaceVisibilityTransform(LayerType* layer,
IsAtBoundaryOf3dRenderingContext(layer);
if (layer->use_parent_backface_visibility()) {
DCHECK(!is_at_boundary_of_3d_rendering_context);
- DCHECK(layer->parent());
- DCHECK(!layer->parent()->use_parent_backface_visibility());
+ DCHECK(Parent(layer));
+ DCHECK(!Parent(layer)->use_parent_backface_visibility());
layer->SetUseLocalTransformForBackfaceVisibility(
- layer->parent()->use_local_transform_for_backface_visibility());
+ Parent(layer)->use_local_transform_for_backface_visibility());
layer->SetShouldCheckBackfaceVisibility(
- layer->parent()->should_check_backface_visibility());
+ Parent(layer)->should_check_backface_visibility());
} else {
// The current W3C spec on CSS transforms says that backface visibility
// should be determined differently depending on whether the layer is in a
@@ -1145,11 +1152,11 @@ void BuildPropertyTreesInternal(
for (LayerType* scroll_child : *ScrollChildren(layer)) {
DCHECK_EQ(ScrollParent(scroll_child), layer);
DataForRecursionFromChild<LayerType> data_from_child;
- DCHECK(scroll_child->parent());
+ DCHECK(Parent(scroll_child));
data_for_children.effect_tree_parent =
- scroll_child->parent()->effect_tree_index();
+ Parent(scroll_child)->effect_tree_index();
data_for_children.render_target =
- scroll_child->parent()->effect_tree_index();
+ Parent(scroll_child)->effect_tree_index();
BuildPropertyTreesInternal(scroll_child, data_for_children,
&data_from_child);
data_to_parent->Merge(data_from_child);
« no previous file with comments | « cc/trees/occlusion_tracker_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698