<!DOCTYPE html>
<html>
  <head>
    <style>
      #container {
        width: 300px;
        height: 300px;
        border: 3px solid black;
        overflow: scroll;
      }

      .card {
        width: 100px;
        height: 100px;
        margin: 5px;
      }

      .fixed {
        position: fixed;
        background: blue;
        z-index: 1;
        left: 80px;
        top: 80px;
      }

      .scrolled {
        position: relative;
        background: green;
      }
    </style>
    <script>
      if (window.testRunner)
          testRunner.dumpAsTextWithPixelResults();

      if (window.internals)
          window.internals.settings.setPreferCompositingToLCDTextEnabled(true);

      function doTest() {
        var container = document.getElementById("container");
        container.scrollTop = container.scrollHeight;
      }

      window.onload = doTest;
    </script>
  </head>
  <body>
    <div id="container">
      <div class="fixed card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
      <div class="scrolled card"></div>
    </div>
  </body>
</html>
