<!DOCTYPE html>
<html>
  <head>
    <title>Check whether scrollable iframes are included in the scrolling tree when async frame scrolling is enabled</title>
    <script>
      if (window.testRunner)
          testRunner.dumpAsText();
      if (window.internals)
          window.internals.settings.setAsyncFrameScrollingEnabled(true);
      function doTest()
      {
          if (window.internals)
              document.getElementById('scrollingTree').innerText = window.internals.scrollingStateTreeAsText() + "\n";
      }
      window.addEventListener('load', doTest, false);
    </script>
  </head>
  <body>
    <iframe id="frame" style="width: 100px; height: 200px; border: 1px solid black;" src="data:text/html,<div style='width: 300px; height: 400px; background: gray;'></div>"></iframe>
    <pre id="scrollingTree"></pre>
  </body>
</html>
