The default behavior of QLinearGradient conflicts with the HTML5 specification.
We should be doing per-component interpolation in linear rather than premultiplied space.
Tthere's an internal method, QGradient::setInterpolationMode() for exactly this purpose.
Quoth the spec: The color of the gradient at each stop is the color specified for that stop. Between each such stop, the colors and the alpha component must be linearly interpolated over the RGBA space without premultiplying the alpha value to find the color to use at that offset.
This fixes one in-tree test for Qt:
Created attachment 59927 [details]
Comment on attachment 59927 [details]
Clearing flags on attachment: 59927
Committed r62037: <http://trac.webkit.org/changeset/62037>
All reviewed patches have been landed. Closing bug.