New issue
Advanced search Search tips

Issue 719893 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 667431



Sign in to add a comment

color: Solid color CALayers need to be in sRGB

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

Issue description

What steps will reproduce the problem?
(1) Change the screen to any very-not-sRGB color space
(2) Run with --enable-color-correct-rendering
(3) Visit any page with solid color layers

What is the expected result?
Solid colors should match the display

What happens instead?
Solid colors do not match the display

See the attached cellphone picture of the screen (note that this does not appear when taking a screenshot).

The root cause is that we use the function base::mac::GetSystemColorSpace() to assign a color space to IOSurfaces at allocation time. We should assign a default of sRGB.
 
IMG_7917.JPG
101 KB View Download
Project Member

Comment 1 by bugdroid1@chromium.org, May 10 2017

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

commit 08d4c3723567efd356243bcc1ba3d579660a4d21
Author: ccameron <ccameron@chromium.org>
Date: Wed May 10 18:31:05 2017

color: Ensure solid color IOSurface layers are sRGB

The IOSurfaces creatd for solid color layers keep the default color
space that they were assigned when they were created. This should be
sRGB during color correct rendering.

In order to check the color correct rendering status when creating an
IOSurface, we need to pull the flag out of cc/base/ and into ui/gfx/,
so this patch touches lots of files.

The end-game for this patch is in  crbug.com/254361 , where we will
hopefully be able to delete base::mac::GetSystemColorSpace().

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

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

[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/cc/base/switches.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/cc/base/switches.h
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/chrome/browser/about_flags.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/chrome/browser/chromeos/login/chrome_restart_request.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/ui/compositor/compositor.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/ui/display/mac/screen_mac.mm
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/ui/gfx/BUILD.gn
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/ui/gfx/mac/io_surface.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/ui/gfx/switches.cc
[modify] https://crrev.com/08d4c3723567efd356243bcc1ba3d579660a4d21/ui/gfx/switches.h

Status: Fixed (was: Assigned)

Sign in to add a comment