New issue
Advanced search Search tips

Issue 724714 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 713891



Sign in to add a comment

color: Race condition in setting LayerTreeHost::SetRasterColorSpace

Project Member Reported by ccameron@chromium.org, May 20 2017

Issue description

In updating layout tests to use color correct rendering, I'm noticing that we sometimes get a valid color space in LayerTreeHost::SetRasterColorSpace, and sometimes don't.

We should always be getting the color space set by --force-color-profile, and never an invalid color space.
 
Project Member

Comment 2 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01912990baad76adb75b28ccc11c74691c9b34d3

commit 01912990baad76adb75b28ccc11c74691c9b34d3
Author: ccameron <ccameron@chromium.org>
Date: Tue May 23 07:34:03 2017

color: Fix color not being reset between layout tests

Layout tests run WebTestDelegate::SetDeviceColorProfile("reset") after
every test, which resets the ICC profile for rasterization to an empty
profile.

This is not the right thing to do with color correct rendering, because
it will make LayerTreeHostImpl::GetRasterColorSpace return an invalid
color space, which is used as a signal that color correct rendering is
disabled.

Fix this in two ways.

First, make WebTestDelegate::SetDeviceColorProfile("reset") reset the
ICC profile to be whatever was specified at the command line.

Second, make LayerTreeHostImpl::GetRasterColorSpace never return
an invalid color space when color correct rendering is enabled.

Third, fix a bug in RenderWidget where ICCProfile::GetColorSpace is
used instead of ICCProfile::GetParametricColorSpace.

BUG= 724714 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2898583002
Cr-Commit-Position: refs/heads/master@{#473829}

[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/content/renderer/render_widget.cc
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/content/renderer/render_widget.h
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/content/test/layouttest_support.cc
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/ui/gfx/icc_profile.h
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/ui/gfx/test/icc_profiles.cc
[modify] https://crrev.com/01912990baad76adb75b28ccc11c74691c9b34d3/ui/gfx/test/icc_profiles.h

Status: Fixed (was: Assigned)

Sign in to add a comment