<!DOCTYPE html>
<style>
.fixed {
  position: fixed;
}
.overflow {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
.yellow {
  left: 200px;
  width: 100px;
  height: 100px;
  background-color: yellow;
}

.blue {
  width: 100px;
  height: 1000px;
  background-color: blue;
}
</style>
<div class="overflow fixed">
  <div class="yellow fixed"></div>
  <div class="blue"></div>
</div>
<pre></pre>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script>
if (window.testRunner && window.internals) {
  testRunner.dumpAsText();
  testRunner.waitUntilDone();
  internals.settings.setPreferCompositingToLCDTextEnabled(true);
}

runAfterLayoutAndPaint(function() {
  if (window.testRunner)
    document.querySelector('pre').textContent = internals.layerTreeAsText(document);
}, true);
</script>
