Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index 80e866df07d723c3ba779737acccac9577f6b93e..0112cf07aa140275f410be23e44937a6971fc13f 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -1912,13 +1912,20 @@ void GLRenderer::DrawPictureQuad(const DrawingFrame* frame, |
quad->texture_format); |
} |
- // Create and run on-demand raster task for tile. |
- scoped_refptr<Task> on_demand_raster_task( |
- new OnDemandRasterTaskImpl(quad->picture_pile, |
- &on_demand_tile_raster_bitmap_, |
- quad->content_rect, |
- quad->contents_scale)); |
- RunOnDemandRasterTask(on_demand_raster_task.get()); |
+ if (client_->UseTaskGraphRunnerForOnDemandRaster()) { |
+ // Create and run on-demand raster task for tile. |
+ scoped_refptr<Task> on_demand_raster_task( |
+ new OnDemandRasterTaskImpl(quad->picture_pile, |
+ &on_demand_tile_raster_bitmap_, |
+ quad->content_rect, |
+ quad->contents_scale)); |
+ RunOnDemandRasterTask(on_demand_raster_task.get()); |
+ } else { |
+ SkBitmapDevice device(on_demand_tile_raster_bitmap_); |
+ SkCanvas canvas(&device); |
+ quad->picture_pile->RasterToBitmap( |
+ &canvas, quad->content_rect, quad->contents_scale, NULL); |
+ } |
uint8_t* bitmap_pixels = NULL; |
SkBitmap on_demand_tile_raster_bitmap_dest; |