SkColor is always assumed to be sRGB (both sRGB gamut, and encoded with the sRGB transfer function). Skia performs nearly all color math in the color space of the SkSurface that you're drawing to. Most clients don't actually want linear color math, so if the destination surface is sRGB (for example), then math like blending is done on colors that are encoded by the transfer function. To get linear math/blending, you can put a linear color space on the surface (eg: SkColorSpace::MakeSRGBLinear()). If you do that, the precision with a 32-bit (8888) color type is going to be poor, so you may want to use a higher precision format like F16 (kRGBA_F16_SkColorType).
Is SkColor assumed to be in linear colorspace, or gamma corrected?
When I manipulate colors, should I gamma-correct it before sending it to drawing?