<svg viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
 xmlns:xlink="http://www.w3.org/1999/xlink" onload="doSelection(0,0);">
  <g id="test-body-content">
    <defs>
        <script xlink:href="../../resources/js-test-pre.js"></script>
        <script>
        description('Test that the event handlers do not run during layout of SVG.');
        window.jsTestIsAsync = true;

        var startIndex = 0;
        var numChars = 9;
        function doSelection(indexDelta, numCharsDelta)
        {
                document.getElementById('text').selectSubString(startIndex+indexDelta, numChars+numCharsDelta);
                finishJSTest();
        }
        </script>
    </defs>
    <g transform="translate(0,60)">
        <text id="text" font-size="48" y="128" x="10">
            abc
        </text>
        <g id="buttons">
            <text x="390" y="175" text-anchor="middle" font-size="16">--</text> 
        </g>
    </g>
  </g>
  <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$</text>
  <script>
    document.execCommand("SelectAll");
    var x = document.fonts;
    x.onloading = doSelection;
  </script>
  <style><![CDATA[
  @font-face {
    font-family: 'times';
    src: local('Lucida Grande');
  }
  ]]></style>
  <script xlink:href="../../resources/js-test-post.js"></script>
</svg>
