Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index 19b215b76dc0d4cc90edabc6a35dc36537cdb29c..4a0c7ba1fcf3d132ce09bcb04e7b269e748b19bc 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -1776,6 +1776,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); |
} |