The SVG spec only allows zero-length-subpaths in paths but our current codebase has the code in RenderSVGShape, the superclass of RenderSVGRect and RenderSVGEllipse. Neither rects nor ellipses can contain zero-length-subpaths so we should move the zero-length-subpath code into RenderSVGPath for better code clarity and rendering performance.
Created attachment 151129 [details] Preliminary patch This patch depends on both WK90514 and WK90655 so it's just a preview until those land.
Created attachment 152024 [details] Move zero-length-subpaths from RenderSVGShape to RenderSVGPath
Comment on attachment 152024 [details] Move zero-length-subpaths from RenderSVGShape to RenderSVGPath View in context: https://bugs.webkit.org/attachment.cgi?id=152024&action=review Looks good to me. > Source/WebCore/ChangeLog:10 > + to RenderSVGPath. I would suggest adding what you gain by this.
Created attachment 152046 [details] Update per reviewer comments Updated ChangeLog to summarize why this is awesome. Also added OVERRIDEs to RenderSVGPath per schenney's comments in wkb.ug/88231
Nikolas, I think you may have the most context for a review here. Friendly ping for a review :)
Comment on attachment 152046 [details] Update per reviewer comments View in context: https://bugs.webkit.org/attachment.cgi?id=152046&action=review Looks great, r=me with a minor comment. > Source/WebCore/rendering/svg/RenderSVGPath.cpp:56 > +FloatRect RenderSVGPath::updateStrokeBoundingBox() const I think updateStrokeBoundingBox is a misleading name, as it returns a new strokeBoundingBox, instead of updating the m_strokeBoundingBox. Maybe you can come up with a better name not involving update... > Source/WebCore/rendering/svg/RenderSVGPath.cpp:96 > + context->save(); Use GraphicsContextStateSaver stateSaver(*context, true) here.
Created attachment 152821 [details] Update per reviewer comments (2)
Comment on attachment 152821 [details] Update per reviewer comments (2) Clearing flags on attachment: 152821 Committed r122875: <http://trac.webkit.org/changeset/122875>
All reviewed patches have been landed. Closing bug.