| Index: cc/trees/property_tree_builder.cc
|
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
|
| index adbffbe9896451235e3951c664dfab072fa857a5..2100b3c55db5ec81da2901163d527edd5e620da7 100644
|
| --- a/cc/trees/property_tree_builder.cc
|
| +++ b/cc/trees/property_tree_builder.cc
|
| @@ -25,10 +25,6 @@ class LayerTreeHost;
|
|
|
| namespace {
|
|
|
| -static const int kInvalidPropertyTreeNodeId = -1;
|
| -static const int kRootPropertyTreeNodeId = 0;
|
| -static const int kViewportClipTreeNodeId = 1;
|
| -
|
| template <typename LayerType>
|
| struct DataForRecursion {
|
| PropertyTrees* property_trees;
|
| @@ -451,7 +447,7 @@ bool AddTransformNodeIfNeeded(
|
| LayerType* transform_parent = GetTransformParent(data_from_ancestor, layer);
|
| DCHECK(is_root || transform_parent);
|
|
|
| - int parent_index = kRootPropertyTreeNodeId;
|
| + int parent_index = TransformTree::kDeviceNodeId;
|
| if (transform_parent)
|
| parent_index = transform_parent->transform_tree_index();
|
|
|
| @@ -535,17 +531,22 @@ bool AddTransformNodeIfNeeded(
|
| ShouldFlattenTransform(layer) || has_surface;
|
| DCHECK_GT(data_from_ancestor.property_trees->effect_tree.size(), 0u);
|
|
|
| - data_for_children->property_trees->transform_tree.SetTargetId(
|
| - node->id, data_for_children->property_trees->effect_tree
|
| - .Node(data_from_ancestor.render_target)
|
| - ->data.transform_id);
|
| + if (data_from_ancestor.render_target == EffectTree::kInvalidNodeId) {
|
| + data_for_children->property_trees->transform_tree.SetTargetId(
|
| + node->id, TransformTree::kDeviceNodeId);
|
| + } else {
|
| + data_for_children->property_trees->transform_tree.SetTargetId(
|
| + node->id, data_for_children->property_trees->effect_tree
|
| + .Node(data_from_ancestor.render_target)
|
| + ->data.transform_id);
|
| + }
|
| data_for_children->property_trees->transform_tree.SetContentTargetId(
|
| node->id, data_for_children->property_trees->effect_tree
|
| .Node(data_for_children->render_target)
|
| ->data.transform_id);
|
| DCHECK_NE(
|
| data_for_children->property_trees->transform_tree.TargetId(node->id),
|
| - kInvalidPropertyTreeNodeId);
|
| + TransformTree::kInvalidNodeId);
|
|
|
| node->data.has_potential_animation = has_potentially_animated_transform;
|
| node->data.is_currently_animating = layer->TransformIsAnimating();
|
| @@ -931,8 +932,8 @@ bool AddEffectNodeIfNeeded(
|
| // into. Transform node created from root layer (includes device scale
|
| // factor) and clip node created from root layer (include viewports) applies
|
| // to root render surface's content, but not root render surface itself.
|
| - node.data.transform_id = kRootPropertyTreeNodeId;
|
| - node.data.clip_id = kViewportClipTreeNodeId;
|
| + node.data.transform_id = TransformTree::kDeviceNodeId;
|
| + node.data.clip_id = ClipTree::kRootNodeId;
|
| }
|
| data_for_children->effect_tree_parent = effect_tree.Insert(node, parent_id);
|
| int node_id = data_for_children->effect_tree_parent;
|
| @@ -995,7 +996,7 @@ void AddScrollNodeIfNeeded(
|
| if (layer->scroll_clip_layer()) {
|
| clip_bounds = layer->scroll_clip_layer()->bounds();
|
| DCHECK(layer->scroll_clip_layer()->transform_tree_index() !=
|
| - kInvalidPropertyTreeNodeId);
|
| + TransformTree::kInvalidNodeId);
|
| node.data.max_scroll_offset_affected_by_page_scale =
|
| !data_from_ancestor.property_trees->transform_tree
|
| .Node(layer->scroll_clip_layer()->transform_tree_index())
|
| @@ -1247,10 +1248,10 @@ void BuildPropertyTreesTopLevelInternal(
|
| data_for_recursion.property_trees = property_trees;
|
| data_for_recursion.transform_tree_parent = nullptr;
|
| data_for_recursion.transform_fixed_parent = nullptr;
|
| - data_for_recursion.render_target = kRootPropertyTreeNodeId;
|
| - data_for_recursion.clip_tree_parent = kRootPropertyTreeNodeId;
|
| - data_for_recursion.effect_tree_parent = kInvalidPropertyTreeNodeId;
|
| - data_for_recursion.scroll_tree_parent = kRootPropertyTreeNodeId;
|
| + data_for_recursion.render_target = EffectTree::kInvalidNodeId;
|
| + data_for_recursion.clip_tree_parent = ClipTree::kInvalidNodeId;
|
| + data_for_recursion.effect_tree_parent = EffectTree::kInvalidNodeId;
|
| + data_for_recursion.scroll_tree_parent = ScrollTree::kInvalidNodeId;
|
| data_for_recursion.page_scale_layer = page_scale_layer;
|
| data_for_recursion.inner_viewport_scroll_layer = inner_viewport_scroll_layer;
|
| data_for_recursion.outer_viewport_scroll_layer = outer_viewport_scroll_layer;
|
| @@ -1289,10 +1290,10 @@ void BuildPropertyTreesTopLevelInternal(
|
| root_clip.data.resets_clip = true;
|
| root_clip.data.applies_local_clip = true;
|
| root_clip.data.clip = gfx::RectF(viewport);
|
| - root_clip.data.transform_id = kRootPropertyTreeNodeId;
|
| + root_clip.data.transform_id = TransformTree::kDeviceNodeId;
|
| data_for_recursion.clip_tree_parent =
|
| data_for_recursion.property_trees->clip_tree.Insert(
|
| - root_clip, kRootPropertyTreeNodeId);
|
| + root_clip, ClipTree::kInvalidNodeId);
|
|
|
| DataForRecursionFromChild<LayerType> data_from_child;
|
| BuildPropertyTreesInternal(root_layer, data_for_recursion, &data_from_child);
|
|
|