-
simon.fraser@apple.com authored
Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=22981 Repaints inside of an SVGImage were thrown on the floor, which broke incremental painting due to loading, or SVG animation. Fix this by assigning the SVGImage a ChromeClient subclass that passes along repaints via a new method on ImageObserver, which also takes a rect parameter for the changed rect, allowing incremental repaints. Fix RenderImage::imageChanged to take advantage of this changedRect to only repaint the changed parts of the image. This also enables incremental painting for canvas-as-image, so add tests for that too. Tests: fast/backgrounds/animated-svg-as-background.html fast/backgrounds/animated-svg-as-mask.html fast/canvas/canvas-as-image-incremental-repaint.html fast/canvas/canvas-as-image.html fast/images/animated-svg-as-image.html git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
f7d140d5