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)); |