| Index: cc/trees/property_tree_builder.cc
|
| diff --git a/cc/trees/property_tree_builder.cc b/cc/trees/property_tree_builder.cc
|
| index 3319146ddaa607ae364ac18e52f5e6a8aa0cccd4..57f5aa00ba58a1d3ffceccb3d0a36e61e87d8fec 100644
|
| --- a/cc/trees/property_tree_builder.cc
|
| +++ b/cc/trees/property_tree_builder.cc
|
| @@ -636,10 +636,12 @@ bool AddTransformNodeIfNeeded(
|
| }
|
|
|
| float post_local_scale_factor = 1.0f;
|
| + if (is_root)
|
| + post_local_scale_factor =
|
| + data_for_children->property_trees->transform_tree.device_scale_factor();
|
|
|
| if (is_page_scale_layer) {
|
| - if (!is_root)
|
| - post_local_scale_factor *= data_from_ancestor.page_scale_factor;
|
| + post_local_scale_factor *= data_from_ancestor.page_scale_factor;
|
| data_for_children->property_trees->transform_tree.set_page_scale_factor(
|
| data_from_ancestor.page_scale_factor);
|
| }
|
| @@ -647,14 +649,10 @@ bool AddTransformNodeIfNeeded(
|
| node->source_node_id = source_index;
|
| node->post_local_scale_factor = post_local_scale_factor;
|
| if (is_root) {
|
| - float page_scale_factor_for_root =
|
| - is_page_scale_layer ? data_from_ancestor.page_scale_factor : 1.f;
|
| + data_for_children->property_trees->transform_tree.SetDeviceTransform(
|
| + *data_from_ancestor.device_transform, layer->position());
|
| data_for_children->property_trees->transform_tree
|
| - .SetRootTransformsAndScales(data_for_children->property_trees
|
| - ->transform_tree.device_scale_factor(),
|
| - page_scale_factor_for_root,
|
| - *data_from_ancestor.device_transform,
|
| - layer->position());
|
| + .SetDeviceTransformScaleFactor(*data_from_ancestor.device_transform);
|
| } else {
|
| node->source_offset = source_offset;
|
| node->update_post_local_transform(layer->position(),
|
| @@ -1351,11 +1349,8 @@ void BuildPropertyTreesTopLevelInternal(
|
| draw_property_utils::UpdateElasticOverscroll(
|
| property_trees, overscroll_elasticity_layer, elastic_overscroll);
|
| property_trees->clip_tree.SetViewportClip(gfx::RectF(viewport));
|
| - float page_scale_factor_for_root =
|
| - page_scale_layer == root_layer ? page_scale_factor : 1.f;
|
| - property_trees->transform_tree.SetRootTransformsAndScales(
|
| - device_scale_factor, page_scale_factor_for_root, device_transform,
|
| - root_layer->position());
|
| + property_trees->transform_tree.SetDeviceTransform(device_transform,
|
| + root_layer->position());
|
| return;
|
| }
|
|
|
|
|