<!DOCTYPE html>
<html>
<head>
  <style type="text/css" media="screen">
    .container {
      position: absolute;
      padding: 10px;
      z-index: 1;
    }
    .composited {
      position: absolute;
      -webkit-transform: translateZ(0);
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner)
        testRunner.waitUntilDone();

        function doTest()
        {
            // Need to wait for compositing layers to be updated.
            window.setTimeout(function() {
                document.getElementById('iframe').contentWindow.scrollTo(0, 120);
                if (window.testRunner)
                    testRunner.notifyDone();
            }, 0);
        }

        window.addEventListener('load', doTest, false);
  </script>
</head>
<body>
  <p>In pixel results, the blue box should be scrolled out of view.</p>
  <div class="container">
    <iframe id="iframe" src="resources/subframe.html" style="width: 300px; height: 200px;"></iframe>
  </div>
  <div class="composited">
  </div>

</body>
</html>
