<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 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" onclick="test()" 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>
