summaryrefslogtreecommitdiffstats
path: root/cc/output/software_renderer.cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 06:45:36 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 06:45:36 +0000
commit0e5f714c8e7d908a44d6474cbf162b9862b895f0 (patch)
treec22fa14c45d91f2bf2b712b1cca5b3947edaaae0 /cc/output/software_renderer.cc
parenta8e55b1e8c3faef8b9cdd17d444f837773cb8b1c (diff)
downloadchromium_src-0e5f714c8e7d908a44d6474cbf162b9862b895f0.zip
chromium_src-0e5f714c8e7d908a44d6474cbf162b9862b895f0.tar.gz
chromium_src-0e5f714c8e7d908a44d6474cbf162b9862b895f0.tar.bz2
cc: Add CopyAsBitmapRequest class to hold the readback callback.
Currently when you request an async copy of a layer as a bitmap, we pass around the raw base::Callback. In order to add functionality to the copy/readback mechanism, we need to pass along other parameters such as a size to scale the copy to. Instead of passing along an ever-growing list of parameters, wrap the base::Callback in a class called CopyAsBitmapRequest. Then new parameters can be added to this class. No change in behaviour here, covered by existing tests. R=piman BUG=242571 Review URL: https://chromiumcodereview.appspot.com/15435003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201990 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output/software_renderer.cc')
-rw-r--r--cc/output/software_renderer.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 3906ea8..4a337ff 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -9,6 +9,7 @@
#include "cc/output/compositor_frame.h"
#include "cc/output/compositor_frame_ack.h"
#include "cc/output/compositor_frame_metadata.h"
+#include "cc/output/copy_output_request.h"
#include "cc/output/output_surface.h"
#include "cc/output/software_output_device.h"
#include "cc/quads/debug_border_draw_quad.h"
@@ -435,7 +436,7 @@ void SoftwareRenderer::DrawUnsupportedQuad(const DrawingFrame* frame,
void SoftwareRenderer::CopyCurrentRenderPassToBitmap(
DrawingFrame* frame,
- const CopyRenderPassCallback& callback) {
+ scoped_ptr<CopyOutputRequest> request) {
gfx::Size render_pass_size = frame->current_render_pass->output_rect.size();
scoped_ptr<SkBitmap> bitmap(new SkBitmap);
@@ -444,7 +445,7 @@ void SoftwareRenderer::CopyCurrentRenderPassToBitmap(
render_pass_size.height());
current_canvas_->readPixels(bitmap.get(), 0, 0);
- callback.Run(bitmap.Pass());
+ request->SendBitmapResult(bitmap.Pass());
}
void SoftwareRenderer::GetFramebufferPixels(void* pixels, gfx::Rect rect) {