<?xml version="1.0"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/licenses/publicdomain/
-->
<svg xmlns="http://www.w3.org/2000/svg">
  <title>Test that suspendRedraw doesn't apply after the end of a script</title>
  <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=734079 -->

  <script type="text/javascript">

    function doTest() {
      var svg = document.documentElement;
      svg.suspendRedraw(10000);
      document.getElementById("r").setAttribute("fill", "lime");
      svg.removeAttribute("class");
      if (window.testRunner)
        testRunner.notifyDone();
    }
    if (window.testRunner)
      testRunner.waitUntilDone();

    setTimeout(doTest, 100);

  </script>
  <rect id="r" width="100%" height="100%" fill="red"/>
</svg>
