New issue
Advanced search Search tips

Issue 714546 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 713632
Owner: ----
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

incorrect color space handling for ImageData

Reported by oss...@cendio.com, Apr 24 2017

Issue description

Steps to reproduce the problem:
1. Create an ImageData object (constructor or createImageData() doesn't matter)
2. Fill with srgb data
3. Call putImageData()

What is the expected behavior?
Correct SRGB colors.

What went wrong?
Colors are much darker than expected. An unwanted SRGB to linear conversion is performed at some stage. This can be verified by doing the opposite conversion before feeding data to Chrome.

Did this work before? Yes Unsure, most likely 55

Chrome version: 57.0.2987.132  Channel: stable
OS Version: 7.1.2
Flash Version: 

Bug only happens when the canvas is large, so there seems to be multiple code paths.

Likely suspect:

https://chromium.googlesource.com/chromium/src/+/96126d211

This makes noVNC almost unusable on Chrome, so I would very much appreciate a high priority on this. Or a possible workaround. It doesn't help specifying color space to getContext() or createImageData().
 
canvas.html
499 bytes View Download

Comment 1 by oss...@cendio.com, Apr 24 2017

Tested on Galaxy S6 and Pixel C, so it doesn't seem to be device specific.

Comment 2 by oss...@cendio.com, Apr 24 2017

Disabling "Accelerated 2D canvas" from chrome://flags avoids the issue. So it does seem like it's the GPU path that is buggy.

Is there some way we can avoid the GPU via Javascript?
Components: -Blink Blink>Canvas

Comment 4 by junov@chromium.org, Apr 24 2017

Mergedinto: 713632
Status: Duplicate (was: Unconfirmed)

Sign in to add a comment