Chromium Code Reviews| Index: cc/output/gl_renderer.cc |
| diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
| index a262e370a204685bf660c9c3110c912890882a14..db39d5ccfcfe3708355ba298bfd9abd592839f51 100644 |
| --- a/cc/output/gl_renderer.cc |
| +++ b/cc/output/gl_renderer.cc |
| @@ -484,6 +484,7 @@ void GLRenderer::DrawDebugBorderQuad(const DrawingFrame* frame, |
| static SkBitmap ApplyImageFilter(GLRenderer* renderer, |
| ContextProvider* offscreen_contexts, |
| const gfx::Point& origin, |
| + const gfx::Transform& scale, |
| SkImageFilter* filter, |
| ScopedResource* source_texture_resource) { |
| if (!filter) |
| @@ -547,10 +548,8 @@ static SkBitmap ApplyImageFilter(GLRenderer* renderer, |
| paint.setImageFilter(filter); |
| canvas.clear(SK_ColorTRANSPARENT); |
| - // TODO(senorblanco): in addition to the origin translation here, the canvas |
| - // should also be scaled to accomodate device pixel ratio and pinch zoom. See |
| - // crbug.com/281516 and crbug.com/281518. |
| canvas.translate(SkIntToScalar(-origin.x()), SkIntToScalar(-origin.y())); |
| + canvas.scale(scale.Scale2d().x(), scale.Scale2d().y()); |
|
danakj
2014/03/07 17:35:44
Huh, didn't know we have Scale2d(). MathUtil::Comp
|
| canvas.drawSprite(source, 0, 0, &paint); |
| // Flush skia context so that all the rendered stuff appears on the |
| @@ -762,6 +761,7 @@ scoped_ptr<ScopedResource> GLRenderer::GetBackgroundWithFilters( |
| ApplyImageFilter(this, |
| frame->offscreen_context_provider, |
| quad->rect.origin(), |
| + quad->scale, |
| filter.get(), |
| device_background_texture.get()); |
| } |
| @@ -896,6 +896,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
| filter_bitmap = ApplyImageFilter(this, |
| frame->offscreen_context_provider, |
| quad->rect.origin(), |
| + quad->scale, |
| filter.get(), |
| contents_texture); |
| } |