RESOLVED FIXED 245416
[LBSE] Pixel snapping logic is incorrect for SVG, when elements are composited
https://bugs.webkit.org/show_bug.cgi?id=245416
Summary [LBSE] Pixel snapping logic is incorrect for SVG, when elements are composited
Nikolas Zimmermann
Reported 2022-09-20 01:27:52 PDT
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.
Attachments
Nikolas Zimmermann
Comment 1 2022-09-20 02:01:53 PDT
EWS
Comment 2 2022-09-26 08:51:16 PDT
Committed 254863@main (d2c0299eb83a): <https://commits.webkit.org/254863@main> Reviewed commits have been landed. Closing PR #4520 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2022-09-26 08:52:21 PDT
Note You need to log in before you can comment on or make changes to this bug.