| Index: cc/output/gl_renderer.cc
|
| diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
|
| index 2a27ff7810416861d3d38af9db571d95038265bf..3527ed1138a215662797decb54b99b96b4d36320 100644
|
| --- a/cc/output/gl_renderer.cc
|
| +++ b/cc/output/gl_renderer.cc
|
| @@ -1914,8 +1914,13 @@ void GLRenderer::EnsureScissorTestDisabled() {
|
| void GLRenderer::CopyCurrentRenderPassToBitmap(
|
| DrawingFrame* frame,
|
| scoped_ptr<CopyOutputRequest> request) {
|
| - GetFramebufferPixelsAsync(frame->current_render_pass->output_rect,
|
| - request.Pass());
|
| + gfx::Rect copy_rect = frame->current_render_pass->output_rect;
|
| + if (request->has_area()) {
|
| + // Intersect with the request's area, positioned with its origin at the
|
| + // origin of the full copy_rect.
|
| + copy_rect.Intersect(request->area() - copy_rect.OffsetFromOrigin());
|
| + }
|
| + GetFramebufferPixelsAsync(copy_rect, request.Pass());
|
| }
|
|
|
| void GLRenderer::ToGLMatrix(float* gl_matrix, const gfx::Transform& transform) {
|
|
|