I tried to run this HTML5 SVG code in MAC chrome (54.0.2840.98 (64-bit)); but the DIV inside the become invisible (or seems to be losing its position/jumping out from the SVG) when content in the DIV Overflows or scrollbar comes. However it works perfectly in MAC Firefox and all browsers in Windows (except Mobile views). Is it any issue regarding viewport metadata? div inside ForeignObject? MAC chrome bug? CSS? How can we solve this?. Your help is much appreciated. What I tried Test html file https://www.dropbox.com/s/ygz6x0mu6sfhkes/testsvg.html?dl=0 Found a similar bug in webkit forum https://bugs.webkit.org/show_bug.cgi?id=23113 /////////////-HEAD-/////////// <meta content="width=device-width, initial-scale=1" name="viewport" /> ////////////-BODY-//////////// <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1200"> <rect class="cls-a" x="568.13" y="103.99" width="409.76" height="350.53" /> <rect class="cls-b" x="602.86" y="159.55" width="340.31" height="350.28" rx="13.35" ry="13.35"/> <foreignObject class="chat-outer" x="602.86" y="159.55" width="340.31" height="300.28" rx="13.35" ry="13.35"> <div xmlns="http://www.w3.org/1999/xhtml"> <div class="list-wrap" > <div> <div class="list-content"> <div class="list-row"> <p >Hi</p> </div> <div class="list-row"> <p >Hello</p> </div> <div class="list-row"> <p >how are you?</p> </div> </div> </div> </div> </div> </foreignObject> </svg> ////////////////-CSS-////////////// .list-content { height: 280px; padding: 0px 25px; background: #ffccbc; overflow: hidden; overflow-y: auto; }
Reproduces in Safari 10 - the rendering is different from Firefox. It's visible though.
Created attachment 296496 [details] test case Same test as an attachment.
I think this is about how <foreignObject> needs to act as a rendering root but currently does not.
Created attachment 296575 [details] Test reduction
Broken in Chrome (55.0.2883.75) as well.
This bug happens because RenderSVGForeignObject is not a rendering root. RenderSVGForeignObject::requiresLayer() currently returns false. *** This bug has been marked as a duplicate of bug 23113 ***