This page lists the bugs of the underlying browser SVG implementations for which I have filed a bug report.
Browser | Bug id | Description | Fix or bypass |
---|---|---|---|
Firefox | Bug 374216 – Setting element.style.someSvgProperty has no effect | The syntax used by GWT Style class to access properties (element.style[propertyName] = value) does not work for SVG elements | The getSyle() methods of SVG elements returns an OMSVGStyle which derives from GWT Style. This object has getSVGProperty() / setSVGProperty() methods, which implement the bypass proposed by 374216 to access the style properties. Thus you should not use the getStyle()/setStyle() methods from Style as the code will not work with Firefox) |
Firefox 3.6+ | Bug 543965 – SVGLocatable::getCTM on outer SVG element returns null instead of an instance of SVGMatrix | The title says it all. It turns out one should not call getCTM on the root element. If one does, FF returns null while other browsers return getScreenCTM | A later version of lib-gwt-svg will emulate other browser’s behavior for consistency’s sake. |
Firefox | Bug 265895 – Support SVGElementInstance event delivery for <svg:use> | Events occurring on SVGUseElement should have a target of type SVGElementInstance. Firefox incorrectly sets the target directly to SVGUseElement | Currently there is no bypass for this. If you need events on SVGUseElement, you should not try to access the event targets in you handlers. |
Chrome | N |
||
Chrome | |||
Chome / Safari | Bug 46025 – Altering the CSS class of an attached SVG element causes Chrome to crash | You cannot change the “class” attribute of an SVG element once it has been attached to the DOM tree. Otherwise, the browser crashes | No bypass yet |
Chome / Safari | Bug 46259 – SVG path is not displayed correctly | In lib-gwt-svg-samples, the heart image is not displayed correctly (it is truncated). Maybe it is related to the path containing a mix of CurvetoCubicRel and CurvetoCubicAbs ? | No bypass yet. Fixed in Chrome 7 |
Chome / Safari | Bug 46260 – Inside a table, SVG images sized by CSS with percentage units are not displayed | This issue forces apps to use a ResizeHandler and compute the svg size manually, instead of relying on CSS2 with an SVG size specified with percentage units | No bypass yet |
Chome / Safari | Bug 46910 – Node.cloneNode does not work on SVG nodes | SVG nodes which are created programmatically cannot be cloned (the clone has blank attributes) | No bypass yet |
Chome / Safari | Bug 55010 – the SVG transform attribute does not work when manipulated from javascript | The SVG API for manipulating transforms exists in Chrome but has no effect | Where possible, call elt.setAttribute(“transform”, “<value>”) |
Chome / Safari | Bug 57871 – importNode does not work if the source XML tree contains a CDATA section | The method raises a JavaScript exception: Uncaught Error: NOT_SUPPORTED_ERR: DOM Exception 9 | None. Do not use CDATA section in your SVG documents. |
Chome / Safari | Bug 13585 – Problem with trigger animation with SVG animateMotion beginElement() | There seems to be a problem with the javascript constructor/prototype for animateMotion. Calling document.createElementNS(“http://www.w3.org/2000/svg”, “animateMotion”) in JavaScript returns an object of type SVGElement instead of SVGAnimateMotionElement. | No bypass yet |
Chome / Safari | Bug 69664 – Nested svg elements cause display to not refresh properly | If one attempts to move (change x or y) of an svg element nested into another svg element, the screen will not refresh probably and the nested svg element will leave a trail of dirty pixels. | Use g elements with a transform=’translate(x,y)’ attribute instead of the nested svg but this is not fully equivalent |
Firefox | Bug 628407 – SMIL repeat events are fired too many times when an animation element is detached / reattached from DOM tree | When one detaches and reattaches svg elements which define animations, all past events will be replayed as the svg container resynchronizes its internal state with the present time | Avoid this pattern and change the visibility instead. |
Firefox | Bug 647914 and Bug 78522 – Horizontal and vertical SVG paths are omitted from bbox calculations if they have siblings | Bounding box computation problem in certain cases. Discovered by Pap Lôrinc | None. |
Chome / Safari | Bug 88295 – XMLSerializer produces not-well-formed XML if namespaces are used | Causes the OMSVGElement.getMarkup() to produce not-well-formed XML, notably with SVG files imported from Inkscape. | Remove all non-SVG attributes from the SVG before calling OMSVGElement.getMarkup() |
You may also want to check the global bug databases for major browsers
Browser | URL |
---|---|
Chrome | Google issue tracker |
Firefox | Bugzilla |
Opera | Opera bug tracker (registration required) |