<!DOCTYPE html>
<html >
    <script>
        function body_start() {
            var q = document.getElementById('root').contentDocument;
            q.getElementsByTagName('svg')[0].replaceChild(q.getElementById('refImage'), q.getElementById('d'));
            q.getElementsByTagName('use')[0].setAttribute('xlink:href', '#testName');
            if (window.testRunner) {
                testRunner.dumpAsText();
                testRunner.waitUntilDone();
            }
            setTimeout(function () {
                    document.body.innerHTML = "PASS, if DumpRenderTree doesn't crash, and no assertion in a Debug build.";
                    if (window.testRunner)
                        testRunner.notifyDone();
               }, 0);
        }
    </script>
    <object data="resources/SVGStyledElement-pendingResource-crash.svg" id="root" onload="body_start();" type="image/svg+xml"/></object>
</html>
