Reviewed by Eric.
Large SVG dynamic update rework/optimization.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=10262 (SVG fails to redraw top 20 pixels)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10263 (SVG seems to repaint way too many times during load)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10404 (Invalidation issues with text skew)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10407 (bad SVG text invalidation issues on mouseover/mouseout)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10806 (failing manual-tests/svg-repaint-group.svg)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10913 (SVG charts from plotkit fail to render unless you scroll them offscreen)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10964 (inclusion of svg into svg leave a ghost invisible rectangle)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11680 (DojoKit SVG test chart fails to render (clipping issue?))
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11883 (SVG Text has updating/repainting issues)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11907 (RenderSVGContainer does not mark itself for repaint after setting viewBox, slice or align)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11913 (Invalidation issues in SVG javascript-based animation example)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11979 (SVG text does not respect font-size scaling in bbox calculation)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11984 (SVG <text> does not calculate the correct absoluteRepaintRect)
Partly fixes: http://bugs.webkit.org/show_bug.cgi?id=10745 (SVG layout needs to move out of DOM and into rendering tree during layout() call)

Fixes text redrawing issues seen in svg/carto.net (when actually playing with those files, manually)
Fixes svg/carto.net/window.svg (moving "Navigation Window" caused artefacts)
Fixes svg/W3C-SVG-1.1/types-basicDOM-01-b.svg (bbox calculations had one pixel offset)


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ksvg2/svg/SVGImageElement.cpp b/WebCore/ksvg2/svg/SVGImageElement.cpp
index 42de6b5..148a089 100644
--- a/WebCore/ksvg2/svg/SVGImageElement.cpp
+++ b/WebCore/ksvg2/svg/SVGImageElement.cpp
@@ -98,6 +98,12 @@
     }
 }
 
+void SVGImageElement::notifyAttributeChange() const
+{
+    if (!ownerDocument()->parsing())
+        rebuildRenderer();
+}
+
 RenderObject* SVGImageElement::createRenderer(RenderArena* arena, RenderStyle* style)
 {
     return new (arena) RenderSVGImage(this);