Trying to turn on the color correct rendering in canvas ( bug 733274 ), it appears that when the dithering flag of the SkPaint object passed to the SkColorSpaceXforCanvas is set to false (which seems to be the case for non-gradients), the XformCanvas does an extra linear to SRGB conversion over the color components.
While brianosman@ is looking into this, for now we set the dithering flag to true in SkiaPaintCanvas::drawRect() (and other drawX() members if necessary). When this issue is addressed, we should roll back this change.
Comment 1 by zakerinasab@chromium.org
, Aug 10 2017