| Index: cc/output/software_renderer.cc
|
| diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
|
| index 7c53b51347e17a59c32d9ff7e95d866773f04376..be0c4dd097f107af73ef018f19a0a0fe58a0c39e 100644
|
| --- a/cc/output/software_renderer.cc
|
| +++ b/cc/output/software_renderer.cc
|
| @@ -336,6 +336,11 @@ void SoftwareRenderer::DrawPictureQuad(const PictureDrawQuad* quad) {
|
|
|
| TRACE_EVENT0("cc", "SoftwareRenderer::DrawPictureQuad");
|
|
|
| + // TODO(ccameron): Determine a color space strategy for software rendering.
|
| + gfx::ColorSpace canvas_color_space;
|
| + if (settings_->enable_color_correct_rendering)
|
| + canvas_color_space = gfx::ColorSpace::CreateSRGB();
|
| +
|
| RasterSource::PlaybackSettings playback_settings;
|
| playback_settings.playback_to_shared_canvas = true;
|
| // Indicates whether content rasterization should happen through an
|
| @@ -356,12 +361,12 @@ void SoftwareRenderer::DrawPictureQuad(const PictureDrawQuad* quad) {
|
| quad->shared_quad_state->opacity,
|
| disable_image_filtering);
|
| quad->raster_source->PlaybackToCanvas(
|
| - &filtered_canvas, quad->content_rect, quad->content_rect,
|
| - quad->contents_scale, playback_settings);
|
| + &filtered_canvas, canvas_color_space, quad->content_rect,
|
| + quad->content_rect, quad->contents_scale, playback_settings);
|
| } else {
|
| quad->raster_source->PlaybackToCanvas(
|
| - current_canvas_, quad->content_rect, quad->content_rect,
|
| - quad->contents_scale, playback_settings);
|
| + current_canvas_, canvas_color_space, quad->content_rect,
|
| + quad->content_rect, quad->contents_scale, playback_settings);
|
| }
|
| }
|
|
|
|
|