If I understand the code correctly, a CSS Gradient gets drawn into an Image and this image is draw onto the surface. I would like to change the code to use the Gradient class directly to draw to the surface, because: 1) For most platforms it should be more efficient to draw the gradient on command 2) On many platforms the quality could be improve by that (zooming) 3) This will allow to support animations 4) CSS Gradients can be used on SVG elements I looked at the code briefly. It looks like it should not be to hard to implement that. The biggest problem might just be in RenderBoxModelObject::paintFillLayerExtended. I should be able to report later. CCing people who might have some input.
One case that I forgot is repeating backgrounds. This would need spacial treatment on drawing. My experience so far is that gradient patterns are not that usual. I would use the Pattern function for that. However, it will still make things a bit more complicated.
Are you talking about the ImageBuffer in the GeneratorGeneratedImage code? That was added for perf reasons (but does have poor perf characteristics in some cases).