<html>
<body onload=test()>
   <svg>
        <def>
            <rect id="rect" width="100" height="100" fill="red"/>
        </def>
        <use id="use1" href="#rect"/>
        <use id="use2" href="#use1"/>
        <text y="120">PASS if it doesn't assert in debug builds.</text>
    </svg>
    <script>
        function eventhandler() {
            rect.setAttribute("fill", "green");
            if (window.testRunner)
                testRunner.notifyDone();
        }
        function test() {
            if (window.testRunner) {
                testRunner.dumpAsText();
                testRunner.waitUntilDone();
            }
            use1.tabIndex = 0;
            use1.setAttribute("onfocusin", "eventhandler()");
            use1.focus();
        }
    </script>
</body>
</html>
