<html>
  <head>
    <style>
      iframe {
        visibility: hidden;
        position: absolute;
      }
    </style>
    <script>
      if (window.testRunner) {
          testRunner.dumpAsText();
          testRunner.waitUntilDone();
      }

      // Called from subframe.
      function testDone()
      {
        // This timeout is necessary to detect the hang.
        window.setTimeout(function() {
          document.getElementById('results').innerText = 'PASS: test did not hang.';
          if (window.testRunner)
            testRunner.notifyDone();
        }, 0);
      }
    </script>
  </head>
  <body>
    <p id="results">This test should not hang.</p>
    <iframe src="../iframes/resources/enter-compositing-subframe.html"></iframe>
  </body>
</html>
