<?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 -->

  <script>
  
    function doTest() {
      var svg = document.documentElement;
      svg.suspendRedraw(10000);
      var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
      r.setAttribute("width", "100%");
      r.setAttribute("height", "100%");
      r.setAttribute("fill", "lime");
      svg.appendChild(r);
      svg.unsuspendRedrawAll();
      svg.removeAttribute("class");
      if (window.testRunner)
        testRunner.notifyDone();
    }
    
    if (window.testRunner)
      testRunner.waitUntilDone();

    setTimeout(doTest, 100);
    
  </script>
  <rect width="100%" height="100%" fill="red"/>
</svg>
