blob: 2ff0272cdba1dc15021f0891f1b0ec2cc502e7de [file] [log] [blame]
<svg xmlns="http://www.w3.org/2000/svg">
<g>
<linearGradient>
<stop id="stop"/>
</linearGradient>
</g>
<g>
<defs>
<filter id="filter"/>
</defs>
<mask id="mask">
<g filter="url(#filter)">
<linearGradient id="gradient"/>
<path fill="url(#gradient)" d="M147.231,26.23c70.188,0,127.086,57.77,127.086,129.032c0"/>
</g>
</mask>
<path mask="url(#mask)" d="M147.231,26.23c70.188,0,127.086,57.77,127.086,129.032"/>
</g>
<text>PASS, if it doesn't crash.</text>
<script><![CDATA[
if (window.testRunner)
testRunner.dumpAsText();
range = document.createRange();
range.setStartBefore(document.getElementById("stop"));
range.insertNode(document.getElementById("mask"));
/* What does this do? It moves the whole <mask> element as child of the <linearGradient>.
The final DOM looks like:
<g>
<linearGradient>
<mask id="mask">
<g filter="url(#filter)">
<linearGradient id="gradient"/>
<path fill="url(#gradient)" d="..."/>
</g>
</mask>
<stop id="stop"/>
</linearGradient>
</g>
<g>
<defs>
<filter id="filter"/>
</defs>
<path mask="url(#mask)" d="...."/>
</g>
*/
]]></script>
</svg>