In bug webkit.org/b/244966 ("[LBSE] Outermost <svg> elements are not device-pixel aligned") the rendering was adapted in such a way that the outermost <svg> element is the only element in the SVG subtree that is pixel snapped, delivering consistent results between e.g. HTML <div> elements and SVG <svg> elements, embedded in a CSS formatting context. The <div> will get pixel snapped upon painting -- the same was enforced for the outermost <svg>, however without propagating/accumulating sub-pixel errors for the descendant layers, since no pixel snapping is applied within the SVG subtree. When elements are composited another logic is used (RenderLayerBacking), and the device-pixel alignment is applied for all SVG layers -- effectively breaking content. By fixing that, the pixel snapping logic is consistent for all painting modes we have, no matter if the outer <svg> is composited, or any of its descendants.
Pull request: https://github.com/WebKit/WebKit/pull/4520
Committed 254863@main (d2c0299eb83a): <https://commits.webkit.org/254863@main> Reviewed commits have been landed. Closing PR #4520 and removing active labels.
<rdar://problem/100412807>