Created attachment 451334 [details] demo of issue SVG getEnclosureList is effected by page zoom. Attached is an html file with an svg element with 2 rectangles. The large rectangle entirely encloses a small rectangle. Calling `getBBox` on the large rectangle returns an SVGRect (box). Calling svg.getEnclosureList(box, svg) correctly returns the smaller rect. Now when you use ⌘+ to Page zoom, getEnclosureList no longer returns any elements. this effects safari 15, but I can confirm it also effect safari 13 (could not test 14) thank you.
chromium keeps svg.currentScale at 1; even at different page zoom levels. While webkits svg.currentScale tracks the page zoom. however, you can manually set svg.currentScale - and adjusting it has no effect on svg.getEnclosureList on chromium.
getEnclosureList (from svg/SVGSVGElement.cpp) appears to route to LegacyRenderSVGModelObject::checkEnclosure, even though a (modern?) RenderSVGModelObject::checkEnclosure exists.
ah, I see that RenderSVGModelObject::checkEnclosure is very new (https://trac.webkit.org/changeset/287538/webkit) - and not even used anywhere yet
maybe related to https://bugs.webkit.org/show_bug.cgi?id=194903
<rdar://problem/88943590>