Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox This patch doesn't actually fix repaint, but it makes it easier to write a sane clippedOverflowRectForRepaint method for each SVG renderer. In fact, none of these new repaintRectInLocalCoordinates correctly include filter, marker, mask or clip values yet, but they will in a forthcoming patch. My upcoming localToParentTransform() patch is also needed before we can write a good clippedOverflowRectForRepaint function too.
Created attachment 29522 [details] Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox WebCore/ChangeLog | 98 ++++++++++++++++++++++ WebCore/rendering/RenderForeignObject.cpp | 17 ++++- WebCore/rendering/RenderForeignObject.h | 6 +- WebCore/rendering/RenderObject.cpp | 11 ++- WebCore/rendering/RenderObject.h | 12 +++- WebCore/rendering/RenderPath.cpp | 45 +++++----- WebCore/rendering/RenderPath.h | 4 +- WebCore/rendering/RenderSVGContainer.cpp | 25 ++---- WebCore/rendering/RenderSVGContainer.h | 3 +- WebCore/rendering/RenderSVGGradientStop.h | 11 ++- WebCore/rendering/RenderSVGHiddenContainer.cpp | 7 ++- WebCore/rendering/RenderSVGHiddenContainer.h | 4 +- WebCore/rendering/RenderSVGImage.cpp | 11 ++- WebCore/rendering/RenderSVGImage.h | 6 +- WebCore/rendering/RenderSVGRoot.cpp | 22 ++--- WebCore/rendering/RenderSVGRoot.h | 8 +- WebCore/rendering/RenderSVGTSpan.h | 9 ++- WebCore/rendering/RenderSVGText.cpp | 24 ++++-- WebCore/rendering/RenderSVGText.h | 4 +- WebCore/rendering/RenderSVGViewportContainer.cpp | 4 +- WebCore/rendering/SVGRenderSupport.cpp | 20 +++++ WebCore/rendering/SVGRenderSupport.h | 7 +- WebCore/rendering/SVGRenderTreeAsText.cpp | 6 +- WebCore/svg/SVGFont.cpp | 3 + WebCore/svg/SVGLocatable.cpp | 2 +- WebCore/svg/SVGPatternElement.cpp | 2 +- WebCore/svg/graphics/SVGPaintServerGradient.cpp | 8 +- WebCore/svg/graphics/SVGPaintServerPattern.cpp | 2 +- 28 files changed, 279 insertions(+), 102 deletions(-)
Comment on attachment 29522 [details] Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox r=me
http://trac.webkit.org/changeset/42578