DescriptionMove SVG shape painting code to SVGShapePainter
This patch moves all SVG shape (path,rect,ellipse,circle,polyline,line,
polygon) painting code to SVGShapePainter.
This megapatch is primarily a code move without changes. The two big
changes are:
1) All painting code for RenderSVG{Shape,Path,Rect,Ellipse} has been
moved to SVGShapePainter. The original designer of this code went
OOP crazy and created a delicious spaghetti of fillShape and
strokeShape. These virtual functions have been replaced with two new
virtuals that are a bit easier to digest: useRectRenderingFastPath and
useEllipseRenderingFastPath.
2) The marker code only applies to "markable elements"[1] and is only
needed on RenderSVGPath. The marker data and functions have been moved
to RenderSVGPath which shrinks RenderSVG{Rect,Ellipse} by a pointer
and cleans up RenderSVGShape.
[1] https://svgwg.org/svg2-draft/single-page.html#intro-TermMarkableElement
BUG=412088
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184487
Patch Set 1 #Patch Set 2 : Fix compile #Patch Set 3 : Fix compile (2) #Patch Set 4 : Cleanup for review #
Total comments: 10
Patch Set 5 : Update per reviewer comments #
Messages
Total messages: 9 (3 generated)
|