Created attachment 66893 [details] A testcase for this bug If a svg is placed inside a Dojo Tab as <embed> then after changing the tabs the <embed> is reloaded and reset to default. Changes to the SVG are no longer visible. The attached testcase shows the problem: 1. After loading click on the rectangle it change color from yellow to orange 2. change the tab 3. change back to first tab. Now the rectangle is yellow again. clicking has no effect This effect is in Safari and Chrome. If you use this in other browsers FF, Opera, Ie (with Adobe SVGViewer) you see the coorect behavior. I have already create a bug report 45259 which shows this behavior on a larger example
It seems that Dojo set the tab property display to none. Niko Zimmermann told me that this has the effect that the Webkit kill the renderer an reset all properties to default. But this does not explain fully the behavior described in bug 45259: Here the SVG legend is not reseted but it seemed freezed.
CC'ing some of the rendering experts. Our display="none" handling seems flawed, compared to other browsers. When embedding eg. an external document (no matter if SVG, or HTML), one can write: var document = myEmbed.getSVGDocument(); myEmbed.style.display = "none"; .... let style recalc etc ... myEmbed.style.display ="inline"; document is now no longer valid, as the referenced document of "myEmbed" gets reloaded (RenderEmbeddedObject has been destructed, when setting display="none", and is now reloaded). Specific question for Eric: It seems you're just working on a fix for that problem, is that right? (Thinking of bug 27775)
This is the same thing as bug 27775 but for subframes rather than plug-ins.
I'm working in this area now.
I'm pretty sure this is an exact dupe of bug 39286
Yes, agreed. *** This bug has been marked as a duplicate of bug 39286 ***