| Index: cc/trees/property_tree.cc
|
| diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
|
| index e985d75f44b180278e31c532841748655da556fc..ef0a2f32663e24fba6e2f4f5903ba248f0220806 100644
|
| --- a/cc/trees/property_tree.cc
|
| +++ b/cc/trees/property_tree.cc
|
| @@ -157,21 +157,6 @@ bool TransformTree::ComputeTransform(int source_id,
|
| return CombineInversesBetween(source_id, dest_id, transform);
|
| }
|
|
|
| -bool TransformTree::ComputeTransformWithDestinationSurfaceContentsScale(
|
| - int source_id,
|
| - int dest_id,
|
| - gfx::Transform* transform) const {
|
| - bool success = ComputeTransform(source_id, dest_id, transform);
|
| -
|
| - const TransformNode* dest_node = Node(dest_id);
|
| - if (!dest_node->needs_surface_contents_scale)
|
| - return success;
|
| -
|
| - transform->matrix().postScale(dest_node->surface_contents_scale.x(),
|
| - dest_node->surface_contents_scale.y(), 1.f);
|
| - return success;
|
| -}
|
| -
|
| bool TransformTree::NeedsSourceToParentUpdate(TransformNode* node) {
|
| return (source_to_parent_updates_allowed() &&
|
| node->parent_id != node->source_node_id);
|
| @@ -423,8 +408,12 @@ void TransformTree::UpdateTargetSpaceTransform(TransformNode* node,
|
| // In order to include the root transform for the root surface, we walk up
|
| // to the root of the transform tree in ComputeTransform.
|
| int target_id = target_node->id;
|
| - ComputeTransformWithDestinationSurfaceContentsScale(
|
| - node->id, target_id, &target_space_transform);
|
| + ComputeTransform(node->id, target_id, &target_space_transform);
|
| + if (target_id != 0) {
|
| + target_space_transform.matrix().postScale(
|
| + target_node->surface_contents_scale.x(),
|
| + target_node->surface_contents_scale.y(), 1.f);
|
| + }
|
| }
|
|
|
| gfx::Transform from_target;
|
| @@ -640,21 +629,6 @@ void TransformTree::SetContentTargetId(int node_id, int content_target_id) {
|
| cached_data_[node_id].content_target_id = content_target_id;
|
| }
|
|
|
| -gfx::Transform TransformTree::ToScreenSpaceTransformWithoutSurfaceContentsScale(
|
| - int id) const {
|
| - DCHECK_GT(id, 0);
|
| - if (id == 1) {
|
| - return gfx::Transform();
|
| - }
|
| - const TransformNode* node = Node(id);
|
| - gfx::Transform screen_space_transform = ToScreen(id);
|
| - if (node->surface_contents_scale.x() != 0.0 &&
|
| - node->surface_contents_scale.y() != 0.0)
|
| - screen_space_transform.Scale(1.0 / node->surface_contents_scale.x(),
|
| - 1.0 / node->surface_contents_scale.y());
|
| - return screen_space_transform;
|
| -}
|
| -
|
| bool TransformTree::operator==(const TransformTree& other) const {
|
| return PropertyTree::operator==(other) &&
|
| source_to_parent_updates_allowed_ ==
|
| @@ -906,9 +880,13 @@ void EffectTree::TakeCopyRequestsAndTransformToSurface(
|
| source_id = 1;
|
| }
|
| gfx::Transform transform;
|
| - property_trees()
|
| - ->transform_tree.ComputeTransformWithDestinationSurfaceContentsScale(
|
| - source_id, destination_id, &transform);
|
| + property_trees()->transform_tree.ComputeTransform(source_id, destination_id,
|
| + &transform);
|
| + if (destination_id != 0) {
|
| + transform.matrix().postScale(effect_node->surface_contents_scale.x(),
|
| + effect_node->surface_contents_scale.y(),
|
| + 1.f);
|
| + }
|
| it->set_area(MathUtil::MapEnclosingClippedRect(transform, it->area()));
|
| }
|
| }
|
| @@ -1881,4 +1859,21 @@ void PropertyTrees::UpdateCachedNumber() {
|
| cached_data_.property_tree_update_number++;
|
| }
|
|
|
| +gfx::Transform PropertyTrees::ToScreenSpaceTransformWithoutSurfaceContentsScale(
|
| + int transform_id,
|
| + int effect_id) const {
|
| + DCHECK_GT(transform_id, 0);
|
| + if (transform_id == 1) {
|
| + return gfx::Transform();
|
| + }
|
| + gfx::Transform screen_space_transform = transform_tree.ToScreen(transform_id);
|
| + const EffectNode* effect_node = effect_tree.Node(effect_id);
|
| +
|
| + if (effect_node->surface_contents_scale.x() != 0.0 &&
|
| + effect_node->surface_contents_scale.y() != 0.0)
|
| + screen_space_transform.Scale(1.0 / effect_node->surface_contents_scale.x(),
|
| + 1.0 / effect_node->surface_contents_scale.y());
|
| + return screen_space_transform;
|
| +}
|
| +
|
| } // namespace cc
|
|
|