<svg version="1.1" baseProfile="basic" 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"/>
  <defs>
   <rect onclick="test()" id="reference" x="240" y="1" width="239" height="358"/>

   <script type="text/ecmascript">
    <![CDATA[
    function repaintTest() {
        if (window.eventSender) {
            testRunner.waitUntilDone();
            eventSender.mouseMoveTo(250, 50);
            eventSender.mouseDown();
            eventSender.mouseUp();
        }
    }

    function test() {
        document.getElementById("text").firstChild.nodeValue = "Test passed.";
        if (window.testRunner)
            testRunner.notifyDone();
    }
    ]]>
    </script>
  </defs>

  <use id="use" xlink:href="#reference" fill="grey"/>

  <text id="text" transform="translate(5,20)">Test failed.</text>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
</svg>
