DragImageChromiumSkia contains this: *pixel = SkPreMultiplyARGB(SkColorGetA(*pixel) * fraction, SkColorGetR(*pixel), SkColorGetG(*pixel), SkColorGetB(*pixel)); That's wrong: *pixel already contains premultiplied rgb, and calling SkPreMultiplyARGB() again multiplies rgb by the new alpha again. Instead, SkPackARGB should be called.
On second thought, this is only wrong if SkColorGetA(*pixel) is not 255 or 0, which it usually is in practice. (it's also wrong if the channel layout of SkColor and SkPMColor doesn't match.) Fixing without depending on private headers of skia doesn't seem possible, and since it doesn't seem so bad, i'll close this as wontfix for now.