<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400" onload="startup()">
<defs id="defs">
    <cursor id="cursor1" xlink:href="data:image/png;base64,"/>
    <cursor id="cursor2" xlink:href="data:image/png;base64,"/>
</defs>

<script>
<![CDATA[

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    gc = function(){window.GCController.collect()};
} else if (!window.gc)
    gc = function(){};

var outer;
var inner;

function startup() {
    outer = document.getElementById("outer");
    inner = document.getElementById("inner");

    if (location.hash != "#3") {
        if (location.hash)
            location.hash = "#" + (parseInt(location.hash.slice(1)) + 1).toString();
        else
            location.hash = "#1";
        setTimeout(step1, 0);
    } else {
        gc();
        inner.setAttribute('fill', "green");
        while (inner.firstChild)
            inner.removeChild(inner.firstChild);
        inner.appendChild(document.createTextNode("PASS: Successfully changed cursors."));
        if (window.testRunner)
            testRunner.notifyDone();
    }
}

function step1() {
    outer.setAttribute('cursor', "url('#cursor2')");
    inner.removeAttribute('cursor');
    setTimeout(step2, 0);
}

function step2() {
    outer.removeAttribute('cursor');
    setTimeout(function(){location.reload()}, 0);
}


//]]>
</script>

<g id="outer">
    <text x="20" y="20" fill="red" id="inner" cursor="url('#cursor1')">X</text>
</g>
</svg>
