| Index: cc/trees/draw_property_utils.cc
|
| diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc
|
| index 31989bb48f8bcadec0c85ff2262d0497abda9ac4..6bf419bb27791e788dc0847f047402e37fa45148 100644
|
| --- a/cc/trees/draw_property_utils.cc
|
| +++ b/cc/trees/draw_property_utils.cc
|
| @@ -109,22 +109,18 @@ bool ComputeClipRectInTargetSpace(const LayerImpl* layer,
|
| if (property_trees->ComputeTransformToTarget(clip_node->target_transform_id,
|
| target_effect_node->id,
|
| &clip_to_target)) {
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (target_effect_node->id != EffectTree::kContentsRootNodeId) {
|
| - PostConcatSurfaceContentsScale(target_effect_node, &clip_to_target);
|
| + PostConcatSurfaceContentsScale(target_effect_node, &clip_to_target);
|
| #if DCHECK_IS_ON()
|
| - const TransformTree& transform_tree = property_trees->transform_tree;
|
| - VerifySurfaceContentsScalesMatch(layer->effect_tree_index(),
|
| - target_node_id, effect_tree,
|
| - transform_tree);
|
| + const TransformTree& transform_tree = property_trees->transform_tree;
|
| + VerifySurfaceContentsScalesMatch(layer->effect_tree_index(),
|
| + target_node_id, effect_tree,
|
| + transform_tree);
|
| #endif
|
| - }
|
|
|
| const EffectNode* source_node =
|
| effect_tree.Node(clip_node->target_effect_id);
|
| ConcatInverseSurfaceContentsScale(source_node, &clip_to_target);
|
| #if DCHECK_IS_ON()
|
| - const TransformTree& transform_tree = property_trees->transform_tree;
|
| VerifySurfaceContentsScalesMatch(clip_node->target_effect_id,
|
| clip_node->target_transform_id,
|
| effect_tree, transform_tree);
|
| @@ -183,20 +179,18 @@ static ConditionalClip ComputeLocalRectInTargetSpace(
|
| int target_effect_id) {
|
| gfx::Transform current_to_target;
|
| if (!property_trees->ComputeTransformToTarget(
|
| - current_transform_id, target_effect_id, ¤t_to_target))
|
| + current_transform_id, target_effect_id, ¤t_to_target)) {
|
| // If transform is not invertible, cannot apply clip.
|
| return ConditionalClip{false, gfx::RectF()};
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (target_effect_id != EffectTree::kContentsRootNodeId) {
|
| - const EffectTree& effect_tree = property_trees->effect_tree;
|
| - const EffectNode* target_effect_node = effect_tree.Node(target_effect_id);
|
| - PostConcatSurfaceContentsScale(target_effect_node, ¤t_to_target);
|
| + }
|
| + const EffectTree& effect_tree = property_trees->effect_tree;
|
| + const EffectNode* target_effect_node = effect_tree.Node(target_effect_id);
|
| + PostConcatSurfaceContentsScale(target_effect_node, ¤t_to_target);
|
| #if DCHECK_IS_ON()
|
| - const TransformTree& transform_tree = property_trees->transform_tree;
|
| - VerifySurfaceContentsScalesMatch(target_effect_id, target_transform_id,
|
| - effect_tree, transform_tree);
|
| + const TransformTree& transform_tree = property_trees->transform_tree;
|
| + VerifySurfaceContentsScalesMatch(target_effect_id, target_transform_id,
|
| + effect_tree, transform_tree);
|
| #endif
|
| - }
|
|
|
| if (current_transform_id > target_transform_id)
|
| return ConditionalClip{true, // is_clipped.
|
| @@ -540,13 +534,11 @@ void CalculateVisibleRects(const LayerImplList& visible_layer_list,
|
| layer->set_visible_layer_rect(gfx::Rect(layer_bounds));
|
| continue;
|
| }
|
| - if (target_effect_node->id > EffectTree::kContentsRootNodeId) {
|
| - ConcatInverseSurfaceContentsScale(target_effect_node, &target_to_layer);
|
| + ConcatInverseSurfaceContentsScale(target_effect_node, &target_to_layer);
|
| #if DCHECK_IS_ON()
|
| - VerifySurfaceContentsScalesMatch(target_effect_node->id, target_node_id,
|
| - effect_tree, transform_tree);
|
| + VerifySurfaceContentsScalesMatch(target_effect_node->id, target_node_id,
|
| + effect_tree, transform_tree);
|
| #endif
|
| - }
|
| }
|
| gfx::Transform target_to_content;
|
| target_to_content.Translate(-layer->offset_to_transform_parent().x(),
|
| @@ -825,29 +817,23 @@ void ComputeClips(PropertyTrees* property_trees,
|
| success &= property_trees->ComputeTransformFromTarget(
|
| clip_node->target_transform_id, parent_clip_node->target_effect_id,
|
| &parent_to_current);
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (clip_node->target_effect_id != EffectTree::kContentsRootNodeId) {
|
| - const EffectNode* target_effect_node =
|
| - effect_tree.Node(clip_node->target_effect_id);
|
| - PostConcatSurfaceContentsScale(target_effect_node, &parent_to_current);
|
| + const EffectNode* target_effect_node =
|
| + effect_tree.Node(clip_node->target_effect_id);
|
| + PostConcatSurfaceContentsScale(target_effect_node, &parent_to_current);
|
| #if DCHECK_IS_ON()
|
| - VerifySurfaceContentsScalesMatch(clip_node->target_effect_id,
|
| - clip_node->target_transform_id,
|
| - effect_tree, transform_tree);
|
| + VerifySurfaceContentsScalesMatch(clip_node->target_effect_id,
|
| + clip_node->target_transform_id,
|
| + effect_tree, transform_tree);
|
| #endif
|
| - }
|
| - if (parent_clip_node->target_effect_id !=
|
| - EffectTree::kContentsRootNodeId) {
|
| - const EffectNode* parent_target_effect_node =
|
| - effect_tree.Node(parent_clip_node->target_effect_id);
|
| - ConcatInverseSurfaceContentsScale(parent_target_effect_node,
|
| - &parent_to_current);
|
| + const EffectNode* parent_target_effect_node =
|
| + effect_tree.Node(parent_clip_node->target_effect_id);
|
| + ConcatInverseSurfaceContentsScale(parent_target_effect_node,
|
| + &parent_to_current);
|
| #if DCHECK_IS_ON()
|
| - VerifySurfaceContentsScalesMatch(parent_clip_node->target_effect_id,
|
| - parent_clip_node->target_transform_id,
|
| - effect_tree, transform_tree);
|
| + VerifySurfaceContentsScalesMatch(parent_clip_node->target_effect_id,
|
| + parent_clip_node->target_transform_id,
|
| + effect_tree, transform_tree);
|
| #endif
|
| - }
|
| // If we can't compute a transform, it's because we had to use the inverse
|
| // of a singular transform. We won't draw in this case, so there's no need
|
| // to compute clips.
|
| @@ -909,17 +895,14 @@ void ComputeClips(PropertyTrees* property_trees,
|
| } else {
|
| success = property_trees->ComputeTransformToTarget(
|
| transform_node->id, clip_node->target_effect_id, &source_to_target);
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (clip_node->target_effect_id != EffectTree::kContentsRootNodeId) {
|
| - const EffectNode* target_effect_node =
|
| - effect_tree.Node(clip_node->target_effect_id);
|
| - PostConcatSurfaceContentsScale(target_effect_node, &source_to_target);
|
| + const EffectNode* target_effect_node =
|
| + effect_tree.Node(clip_node->target_effect_id);
|
| + PostConcatSurfaceContentsScale(target_effect_node, &source_to_target);
|
| #if DCHECK_IS_ON()
|
| - VerifySurfaceContentsScalesMatch(clip_node->target_effect_id,
|
| - clip_node->target_transform_id,
|
| - effect_tree, transform_tree);
|
| + VerifySurfaceContentsScalesMatch(clip_node->target_effect_id,
|
| + clip_node->target_transform_id,
|
| + effect_tree, transform_tree);
|
| #endif
|
| - }
|
| // source_to_target computation should be successful as target is an
|
| // ancestor of the transform node.
|
| DCHECK(success);
|
| @@ -1070,15 +1053,12 @@ static void VerifyDrawTransformsMatch(LayerImpl* layer,
|
| gfx::Transform draw_transform;
|
| property_trees->ComputeTransformToTarget(source_id, target_effect_node->id,
|
| &draw_transform);
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (target_effect_node->id != EffectTree::kContentsRootNodeId) {
|
| - PostConcatSurfaceContentsScale(target_effect_node, &draw_transform);
|
| + PostConcatSurfaceContentsScale(target_effect_node, &draw_transform);
|
| #if DCHECK_IS_ON()
|
| - VerifySurfaceContentsScalesMatch(layer->effect_tree_index(), destination_id,
|
| - property_trees->effect_tree,
|
| - property_trees->transform_tree);
|
| + VerifySurfaceContentsScalesMatch(layer->effect_tree_index(), destination_id,
|
| + property_trees->effect_tree,
|
| + property_trees->transform_tree);
|
| #endif
|
| - }
|
| if (layer->should_flatten_transform_from_property_tree())
|
| draw_transform.FlattenTo2d();
|
| draw_transform.Translate(layer->offset_to_transform_parent().x(),
|
| @@ -1320,18 +1300,14 @@ static void SetSurfaceDrawTransform(const PropertyTrees* property_trees,
|
| effect_tree.Node(effect_node->target_id);
|
| property_trees->ComputeTransformToTarget(
|
| transform_node->id, target_effect_node->id, &render_surface_transform);
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (effect_node->target_id != EffectTree::kContentsRootNodeId) {
|
| - PostConcatSurfaceContentsScale(target_effect_node,
|
| - &render_surface_transform);
|
| + PostConcatSurfaceContentsScale(target_effect_node, &render_surface_transform);
|
| #if DCHECK_IS_ON()
|
| - const TransformNode* target_transform_node =
|
| - transform_tree.Node(transform_tree.TargetId(transform_node->id));
|
| - VerifySurfaceContentsScalesMatch(effect_node->target_id,
|
| - target_transform_node->id, effect_tree,
|
| - transform_tree);
|
| + const TransformNode* target_transform_node =
|
| + transform_tree.Node(transform_tree.TargetId(transform_node->id));
|
| + VerifySurfaceContentsScalesMatch(effect_node->target_id,
|
| + target_transform_node->id, effect_tree,
|
| + transform_tree);
|
| #endif
|
| - }
|
|
|
| ConcatInverseSurfaceContentsScale(effect_node, &render_surface_transform);
|
| #if DCHECK_IS_ON()
|
| @@ -1384,18 +1360,12 @@ static void SetSurfaceClipRect(const ClipNode* parent_clip_node,
|
| return;
|
| }
|
|
|
| - // We don't have to apply surface contents scale when target is root.
|
| - if (render_surface->EffectTreeIndex() != EffectTree::kContentsRootNodeId) {
|
| - const EffectNode* effect_node =
|
| - effect_tree.Node(render_surface->EffectTreeIndex());
|
| - PostConcatSurfaceContentsScale(effect_node, &clip_parent_target_to_target);
|
| + PostConcatSurfaceContentsScale(effect_node, &clip_parent_target_to_target);
|
| #if DCHECK_IS_ON()
|
| - VerifySurfaceContentsScalesMatch(
|
| - render_surface->EffectTreeIndex(),
|
| - transform_tree.TargetId(transform_node->id), effect_tree,
|
| - transform_tree);
|
| + VerifySurfaceContentsScalesMatch(render_surface->EffectTreeIndex(),
|
| + transform_tree.TargetId(transform_node->id),
|
| + effect_tree, transform_tree);
|
| #endif
|
| - }
|
|
|
| DCHECK_LT(parent_clip_node->target_transform_id,
|
| transform_tree.TargetId(transform_node->id));
|
|
|