<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="initial-scale=1">
  <style>
    .scrollable {
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      width: 320px;
      height: 300px;
      border: 2px solid blue;
    }
    iframe {
      position: absolute;
      top: 0;
      left: 0;
      height: 200px;
      width: 200px;
      border: 2px solid black;
      background-color: blue;
    }
    .box {
      position: relative;
      height: 500px;
      width: 100%;
      background-color: rgba(0, 0, 0, 0.2);
      padding: 10px;
    }
  </style>
  <script>
    if (window.testRunner)
      testRunner.dumpAsText();
    if (window.internals)
      window.internals.settings.setAcceleratedCompositingForOverflowScrollEnabled(true);
  </script>
</head>

<body>
  <p>This test should not assert.</p>
  <div class="scrollable">
    <iframe></iframe>
    <div class="box"></div>
  </div>
</body>

</html>
