<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<svg xmlns="http://www.w3.org/2000/svg"
     id="outer" style="width:50px; height:50px;">
  <title>Test percentage stroke-width repaints after viewport size change</title>
  <!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=875069 -->
  <!-- Don't give the line's x/y attributes percentages since that
       may trigger reflow in which case this test wouldn't be
       testing what we intend!
  -->
  <line x1="50" x2="50" y2="50" stroke="blue" stroke-width="100%"/>
  <script>
  
    function doTest() {
      document.getElementById("outer").style.width = "100px";
      document.getElementById("outer").style.height = "100px";
      document.documentElement.removeAttribute('class');
      if (window.testRunner)
        testRunner.notifyDone();
      }

    if (window.testRunner)
      testRunner.waitUntilDone();

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