<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runRepaintTest()">
<script xlink:href="../../fast/repaint/resources/repaint.js"/>
<script>
<![CDATA[
function repaintTest() {
    container = document.getElementById("inneruse");
    stop = document.getElementById("offset");
    if (window.testRunner)
        testRunner.waitUntilDone();
    setTimeout(offset, 0);
}
var turns = 5;
function offset(){
    container.setAttribute ("transform", "");
    stop.setAttribute ("offset", "1.0");
    turns--;
    if (turns > 0)
        window.setTimeout("offset()", 0)
    else if (window.testRunner)
        testRunner.notifyDone();
}
]]>
</script>
<defs>
<linearGradient id="grad">
  <stop offset="0" style="stop-color: green"/>
  <stop id="offset" offset="1" style="stop-color: green"/>
</linearGradient> 
<path id="hp" d="M 0 0 L 100 0 L 100 100 L 0 100" />
</defs>
<g id="inneruse">
<use xlink:href="#hp" style="fill:url(#grad)"/>
</g>
<use xlink:href="#inneruse" style="fill:url(#grad)"/> 
</svg>
