<?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 unsuspendRedrawAll works</title>
  <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=615146 -->

  <rect width="100%" height="100%" fill="lime"/>
  <rect id="r" width="100%" height="100%" fill="red"/>
  
  <script>
  
    function doTest() {
      var svg = document.documentElement;
      svg.suspendRedraw(10000);
      svg.removeChild(document.getElementById("r"));
      svg.unsuspendRedrawAll();
      svg.removeAttribute("class");
      if (window.testRunner)
        testRunner.notifyDone();
    }
    
    if (window.testRunner)
      testRunner.waitUntilDone();

    setTimeout(doTest, 100);

  </script>
  
</svg>
