<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <symbol id="symbol">
        <rect id="symbol-rect" width="100%" height="100%" fill="red"/>
    </symbol>
    <defs>
        <rect id="defs-rect" width="100" height="100" fill="red"/>
    </defs>
    <rect id="rect" width="100" height="100" fill="red"/>
    <use x="110" width="100" height="100" xlink:href="#symbol"/>
    <use x="220" width="100" height="100" xlink:href="#defs-rect"/>
    <use x="330" width="100" height="100" xlink:href="#rect"/>
    <script>
        if (window.testRunner)
            testRunner.waitUntilDone();

        setTimeout(function(){
            document.getElementById("symbol-rect").setAttribute("style", "fill: green");
            document.getElementById("defs-rect").setAttribute("style", "fill: green");
            document.getElementById("rect").setAttribute("style", "fill: green");

            if (window.testRunner)
                testRunner.notifyDone();
      }, 0);
    </script>
</svg>
