<!--
    Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/
-->
<svg xmlns="http://www.w3.org/2000/svg">

  <title>Test for changing stroke-width from zero to non-zero</title>

  <!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=939942 -->

  <rect width="100%" height="100%" fill="red"/>

  <rect id="r" width="100%" height="50%" y="25%" stroke="lime" stroke-width="0" fill="lime"/>

  <script>
    function change_object_style()
    {
      document.getElementById("r").style.strokeWidth = "75%";
      document.documentElement.removeAttribute("class");
      if (window.testRunner)
        testRunner.notifyDone();
    }
    if (window.testRunner)
       testRunner.waitUntilDone();

    setTimeout(change_object_style, 100);
  </script>
</svg>
