<svg 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>
    <script type="text/ecmascript">
      <![CDATA[
        function changeColor(evt) {
          evt.target.setAttribute('fill', 'green'); 
          evt.stopPropagation();
          evt.preventDefault();
          if (window.testRunner)
            testRunner.notifyDone();
        }
        
        function repaintTest() {
          if (window.eventSender) {
            testRunner.waitUntilDone();
            eventSender.mouseMoveTo(50, 50);
            eventSender.mouseDown();
            eventSender.mouseUp();
          }
        }
      ]]>
    </script>
  </defs>
  <a xlink:href="javascript:void(document.getElementById('rect').style.fill='red')">
    <rect id='rect' onclick="changeColor(evt)" width='100' height='100' fill='orange' />
  </a>
</svg>
