Mark SVGGraphicsElement members as supported since ancient times#10564
Mark SVGGraphicsElement members as supported since ancient times#10564
Conversation
|
I went down this rabbit hole because getting rid of the Test results from http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=9295:
So since most of this is supported in all browsers going very far back I'm pretty confident, but I'm not sure about this being supported since Firefox 1.5 since I'm not good at Gecko source archeology. @vinyldarkscratch would you be able to test http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=9295 on Firefox 1.5 and see what it looks like? |
9ea7d0b to
f9b8309
Compare
http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=9339 was used to test for support of the interface itself. Results: - Chrome 30 (not in 29) - Not in IE11 - Edge 13 => Edge 12 assumed - Firefox 20 (not in 19) - Not in Opera 12.16 - Safari 6.2 (not in 6.0) => Safari 6.1 assumed http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=9295 was used to test for support for the members on concrete interfaces: ```html <!DOCTYPE html> <script> var members = ['transform', 'getBBox', 'getCTM', 'getScreenCTM']; var instances = { SVGAElement: document.createElementNS('http://www.w3.org/2000/svg', 'a'), SVGCircleElement: document.createElementNS('http://www.w3.org/2000/svg', 'circle'), SVGDefsElement: document.createElementNS('http://www.w3.org/2000/svg', 'defs'), SVGEllipseElement: document.createElementNS('http://www.w3.org/2000/svg', 'ellipse'), SVGForeignObjectElement: document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject'), SVGGElement: document.createElementNS('http://www.w3.org/2000/svg', 'g'), SVGImageElement: document.createElementNS('http://www.w3.org/2000/svg', 'image'), SVGLineElement: document.createElementNS('http://www.w3.org/2000/svg', 'line'), SVGPathElement: document.createElementNS('http://www.w3.org/2000/svg', 'path'), SVGPolygonElement: document.createElementNS('http://www.w3.org/2000/svg', 'polygon'), SVGPolylineElement: document.createElementNS('http://www.w3.org/2000/svg', 'polyline'), SVGRectElement: document.createElementNS('http://www.w3.org/2000/svg', 'rect'), SVGSVGElement: document.createElementNS('http://www.w3.org/2000/svg', 'svg'), SVGSwitchElement: document.createElementNS('http://www.w3.org/2000/svg', 'switch'), SVGSymbolElement: document.createElementNS('http://www.w3.org/2000/svg', 'symbol'), SVGUseElement: document.createElementNS('http://www.w3.org/2000/svg', 'use'), }; for (var iface in instances) { var instance = instances[iface]; for (var i = 0; i < members.length; i++) { var member = members[i]; w(iface + '.' + member + ': ' + (member in instance)); } } </script> ``` Results: - IE9 supports everything except SVGForeignObjectElement, SVGSymbolElement and SVGSVGElement.transform - Edge 15 supports everything except SVGSymbolElement - Chrome 15, Firefox 3, Opera 12.16 and Safari 4 support everything except SVGSymbolElement and SVGSVGElement.transform SVGGraphicsElement was introduced in WebKit here: https://trac.webkit.org/changeset/152167/webkit https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=152167 It combined SVGLocatable and SVGTransformable going back to the initial SVG support in Safari 3, which also shipped in Chrome 1: https://trac.webkit.org/browser/webkit/branches/old/Safari-3-branch/WebCore/ksvg2/svg/SVGLocatable.idl https://trac.webkit.org/browser/webkit/branches/old/Safari-3-branch/WebCore/ksvg2/svg/SVGTransformable.idl All together, the members are assumed to be supported from when SVG support was introduced in each browser.
f9b8309 to
5375995
Compare
|
See https://github.com/mdn/browser-compat-data/blob/main/docs/data-guidelines.md#apis-moved-on-the-prototype-chain for why the notes are the way they are. |
|
@Elchi3 this is going to block demixing |
http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=9339 was
used to test for support of the interface itself. Results:
http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=9295 was
used to test for support for the members on concrete interfaces:
Results:
SVGSymbolElement and SVGSVGElement.transform
except SVGSymbolElement and SVGSVGElement.transform
SVGGraphicsElement was introduced in WebKit here:
https://trac.webkit.org/changeset/152167/webkit
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=152167
It combined SVGLocatable and SVGTransformable going back to the initial
SVG support in Safari 3, which also shipped in Chrome 1:
https://trac.webkit.org/browser/webkit/branches/old/Safari-3-branch/WebCore/ksvg2/svg/SVGLocatable.idl
https://trac.webkit.org/browser/webkit/branches/old/Safari-3-branch/WebCore/ksvg2/svg/SVGTransformable.idl
All together, the members are assumed to be supported from when SVG
support was introduced in each browser.