Issue : DOM Node Insertion failure in webkitGTK while insert node by using innerHTML. Google Chrome behaviour: In Chrome successfully element displayed while get the by id('clip'). Output : Check Id[object SVGRectElement]*****. But in webkit null instance returned. Output : Check Idnull*****. WebkitGTK Revision : 2.30 and we validated the safari 14 version we have faced the same output. Please advice for node insertion failure. JS TestCode; <html> <head> <script type = "text/javascript"> function Html2Element(element) { var _div = document['createElement']("div"); _div.innerHTML = element; return _div['firstChild']; } function CheckId() { var _div = Html2Element("<svg width='10' height='10'>"+"<clippath><rect id='clip' /></clippath>"+"</svg>"); document.writeln("Check Id"+_div['getElementById']('clip')+"*****"); } </script> </head> <body onload="CheckId()"> </body> </html>
Created attachment 433652 [details] Sample HTML test-code Sample HTML test-code
We have checked In DOM tree node properly maintained by using below HTML TestCode. <html> <head> <script type = "text/javascript"> function Html2Element(element) { var _div = document['createElement']("div"); _div.innerHTML = element; //console.log("innerHTML"+_div.innerHTML+"********"+_div.innerHTML['firstChild']); return _div['firstChild']; } function checkChildNodes(_div) { var svgElementChildes = _div.childNodes; for ( var childnodeindex = 0; childnodeindex < svgElementChildes.length; childnodeindex++ ) { document.writeln("Node ***"+svgElementChildes[childnodeindex]+"<br>"); checkChildNodes(svgElementChildes[childnodeindex]); } } function CheckId() { var _div = Html2Element("<svg width='10' height='10'>"+"<clippath><rect id='clip' /></clippath>"+"</svg>"); document.writeln("Check Id"+_div['getElementById']('clip')+"*****<br>"); checkChildNodes(_div); } </script> </head> <body onload="CheckId()"> </body> </html> Output of HTML TestPage while run in webkit 2.30: Check Idnull***** Node ***[object SVGClipPathElement] Node ***[object SVGRectElement]