| Index: cc/layers/layer_impl.cc
 | 
| diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
 | 
| index 0c34b95a980e87d9be95a1ffc05dda7353847add..07af9251e79d2f3c029e8c336f0913b45a71aa18 100644
 | 
| --- a/cc/layers/layer_impl.cc
 | 
| +++ b/cc/layers/layer_impl.cc
 | 
| @@ -177,14 +177,18 @@ void LayerImpl::PopulateSharedQuadState(SharedQuadState* state) const {
 | 
|                  draw_blend_mode_, sorting_context_id_);
 | 
|  }
 | 
|  
 | 
| -void LayerImpl::PopulateScaledSharedQuadState(SharedQuadState* state,
 | 
| -                                              float scale) const {
 | 
| +void LayerImpl::PopulateScaledSharedQuadState(
 | 
| +    SharedQuadState* state,
 | 
| +    float layer_to_content_scale_x,
 | 
| +    float layer_to_content_scale_y) const {
 | 
|    gfx::Transform scaled_draw_transform =
 | 
|        draw_properties_.target_space_transform;
 | 
| -  scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale);
 | 
| -  gfx::Size scaled_bounds = gfx::ScaleToCeiledSize(bounds(), scale);
 | 
| -  gfx::Rect scaled_visible_layer_rect =
 | 
| -      gfx::ScaleToEnclosingRect(visible_layer_rect(), scale);
 | 
| +  scaled_draw_transform.Scale(SK_MScalar1 / layer_to_content_scale_x,
 | 
| +                              SK_MScalar1 / layer_to_content_scale_y);
 | 
| +  gfx::Size scaled_bounds = gfx::ScaleToCeiledSize(
 | 
| +      bounds(), layer_to_content_scale_x, layer_to_content_scale_y);
 | 
| +  gfx::Rect scaled_visible_layer_rect = gfx::ScaleToEnclosingRect(
 | 
| +      visible_layer_rect(), layer_to_content_scale_x, layer_to_content_scale_y);
 | 
|    scaled_visible_layer_rect.Intersect(gfx::Rect(scaled_bounds));
 | 
|  
 | 
|    state->SetAll(scaled_draw_transform, scaled_bounds, scaled_visible_layer_rect,
 | 
| 
 |