<!DOCTYPE html>
<html>
  <head>
    <title>Regression test for CR573921</title>
  </head>
  <body>
    <iframe id="f"></iframe>
    <script>
      if (window.testRunner) {
          testRunner.dumpAsText();
          testRunner.waitUntilDone();
      }
      let n = 0;
      window.onmessage = (event) => {
          n++;
          if (n > 3) {
              document.body.textContent = 'PASS did not crash';
              if (window.testRunner) {
                  testRunner.notifyDone();
              }
          }
      };
      f.src = 'resources/write-script-waiting-for-style-crash.html';
    </script>
  </body>
</html>
