Chromium Code Reviews| Index: cc/layers/render_surface_impl.cc |
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc |
| index 04a4da49c13af8d526e4f0f4fd3dfe6cf426fd41..bc78c004757f12684c0861dfa302df0cb8a97bf7 100644 |
| --- a/cc/layers/render_surface_impl.cc |
| +++ b/cc/layers/render_surface_impl.cc |
| @@ -197,11 +197,11 @@ void RenderSurfaceImpl::AppendQuads( |
| mask_layer = NULL; |
| } |
| + gfx::Vector2dF owning_layer_draw_scale = |
| + MathUtil::ComputeTransform2dScaleComponents( |
| + owning_layer_->draw_transform(), 1.f); |
| gfx::RectF mask_uv_rect(0.f, 0.f, 1.f, 1.f); |
| if (mask_layer) { |
| - gfx::Vector2dF owning_layer_draw_scale = |
| - MathUtil::ComputeTransform2dScaleComponents( |
| - owning_layer_->draw_transform(), 1.f); |
| gfx::SizeF unclipped_mask_target_size = gfx::ScaleSize( |
| owning_layer_->content_bounds(), |
| owning_layer_draw_scale.x(), |
| @@ -224,6 +224,12 @@ void RenderSurfaceImpl::AppendQuads( |
| gfx::Rect contents_changed_since_last_frame = |
| ContentsChanged() ? content_rect_ : gfx::Rect(); |
| + // Calculate the total scale (including device pixel scale) for the |
| + // owning_layer by combining the draw_scale and the contents_scale. |
| + gfx::Vector2dF owning_layer_scale(owning_layer_draw_scale); |
| + owning_layer_scale.Scale(owning_layer_->contents_scale_x(), |
| + owning_layer_->contents_scale_y()); |
| + |
| RenderPassDrawQuad* quad = |
| render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| quad->SetNew(shared_quad_state, |
| @@ -235,7 +241,8 @@ void RenderSurfaceImpl::AppendQuads( |
| contents_changed_since_last_frame, |
| mask_uv_rect, |
| owning_layer_->filters(), |
| - owning_layer_->background_filters()); |
| + owning_layer_->background_filters(), |
| + owning_layer_scale); |
|
danakj
2014/07/11 16:08:22
let's call this "owning_layer_to_target_scale" her
garykac
2014/07/25 18:18:59
Done.
|
| } |
| } // namespace cc |