| Index: cc/layer_tree_host_common.cc
|
| diff --git a/cc/layer_tree_host_common.cc b/cc/layer_tree_host_common.cc
|
| index 92b44d1ad2fa5623daf138e22b18010a3ccc7520..0c9a651c8ae9edd8c269b2d5f271272b316156b6 100644
|
| --- a/cc/layer_tree_host_common.cc
|
| +++ b/cc/layer_tree_host_common.cc
|
| @@ -533,8 +533,8 @@ static void calculateDrawTransformsInternal(LayerType* layer, LayerType* rootLay
|
| WebTransformationMatrix drawTransform = combinedTransform;
|
| if (!layer->contentBounds().isEmpty() && !layer->bounds().isEmpty()) {
|
| // M[draw] = M[parent] * LT * S[layer2content]
|
| - drawTransform.scaleNonUniform(layer->bounds().width() / static_cast<double>(layer->contentBounds().width()),
|
| - layer->bounds().height() / static_cast<double>(layer->contentBounds().height()));
|
| + drawTransform.scaleNonUniform(1.0 / layer->contentsScaleX(),
|
| + 1.0 / layer->contentsScaleY());
|
| }
|
|
|
| // layerScreenSpaceTransform represents the transform between root layer's "screen space" and local content space.
|
| @@ -574,8 +574,8 @@ static void calculateDrawTransformsInternal(LayerType* layer, LayerType* rootLay
|
| // The owning layer's draw transform has a scale from content to layer space which we need to undo and
|
| // replace with a scale from the surface's subtree into layer space.
|
| if (!layer->contentBounds().isEmpty() && !layer->bounds().isEmpty()) {
|
| - drawTransform.scaleNonUniform(layer->contentBounds().width() / static_cast<double>(layer->bounds().width()),
|
| - layer->contentBounds().height() / static_cast<double>(layer->bounds().height()));
|
| + drawTransform.scaleNonUniform(layer->contentsScaleX(),
|
| + layer->contentsScaleY());
|
| }
|
| drawTransform.scaleNonUniform(1 / renderSurfaceSublayerScale.x(), 1 / renderSurfaceSublayerScale.y());
|
| renderSurface->setDrawTransform(drawTransform);
|
| @@ -584,8 +584,8 @@ static void calculateDrawTransformsInternal(LayerType* layer, LayerType* rootLay
|
| WebTransformationMatrix layerDrawTransform;
|
| layerDrawTransform.scaleNonUniform(renderSurfaceSublayerScale.x(), renderSurfaceSublayerScale.y());
|
| if (!layer->contentBounds().isEmpty() && !layer->bounds().isEmpty()) {
|
| - layerDrawTransform.scaleNonUniform(layer->bounds().width() / static_cast<double>(layer->contentBounds().width()),
|
| - layer->bounds().height() / static_cast<double>(layer->contentBounds().height()));
|
| + layerDrawTransform.scaleNonUniform(1.0 / layer->contentsScaleX(),
|
| + 1.0 / layer->contentsScaleY());
|
| }
|
| layer->setDrawTransform(layerDrawTransform);
|
|
|
| @@ -763,8 +763,8 @@ static void calculateDrawTransformsInternal(LayerType* layer, LayerType* rootLay
|
| // replace with a scale from the surface's subtree into layer space.
|
| WebTransformationMatrix screenSpaceTransform = layer->screenSpaceTransform();
|
| if (!layer->contentBounds().isEmpty() && !layer->bounds().isEmpty()) {
|
| - screenSpaceTransform.scaleNonUniform(layer->contentBounds().width() / static_cast<double>(layer->bounds().width()),
|
| - layer->contentBounds().height() / static_cast<double>(layer->bounds().height()));
|
| + screenSpaceTransform.scaleNonUniform(layer->contentsScaleX(),
|
| + layer->contentsScaleY());
|
| }
|
| screenSpaceTransform.scaleNonUniform(1 / renderSurfaceSublayerScale.x(), 1 / renderSurfaceSublayerScale.y());
|
| renderSurface->setScreenSpaceTransform(screenSpaceTransform);
|
|
|