Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index cf7b64bac8eeaaa3c27ded6ebcad524d7d6c8b1b..4e34dac4644a0e09df7d3eae9537af931db8544f 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -1768,6 +1768,19 @@ void GLRenderer::EnsureScissorTestDisabled() { |
is_scissor_enabled_ = false; |
} |
+void GLRenderer::CopyCurrentRenderPassToBitmap(DrawingFrame* frame, |
+ SkBitmap* bitmap) { |
+ gfx::Size render_pass_size = frame->current_render_pass->output_rect.size(); |
+ bitmap->setConfig(SkBitmap::kARGB_8888_Config, |
+ render_pass_size.width(), |
+ render_pass_size.height()); |
+ if (bitmap->allocPixels()) { |
+ bitmap->lockPixels(); |
+ GetFramebufferPixels(bitmap->getPixels(), gfx::Rect(render_pass_size)); |
+ bitmap->unlockPixels(); |
+ } |
+} |
+ |
void GLRenderer::ToGLMatrix(float* gl_matrix, const gfx::Transform& transform) { |
transform.matrix().asColMajorf(gl_matrix); |
} |