<!DOCTYPE HTML>
<style>
#container {
    -webkit-box-reflect: below;
}

#clipper {
    overflow: hidden;
    width: 95px;
    height: 100px;
    margin: 10px;
}

#scroller {
    width: 100px;
    height: 100px;
    border: 1px solid black;
    overflow: auto;
}


#fixed {
    width: 10px;
    height: 10px;
    position: fixed;
    left: 200px;
    background: blue;
    transform: translateZ(0);
}

#scrolled {
    width: 100px;
    height: 300px;
    background: green;
}
</style>
<script>
if (window.internals) {
    window.internals.settings.setOverlayScrollbarsEnabled(true);
    window.internals.settings.setPreferCompositingToLCDTextEnabled(false);
}

if (window.testRunner)
    window.testRunner.dumpAsTextWithPixelResults();

onload = function() {
    if (window.internals && window.testRunner)
        window.testRunner.setCustomTextOutput(window.internals.layerTreeAsText(document));
};
</script>
<div id="container">
    <div id="clipper">
        <div id="scroller">
            <div id="fixed"></div>
            <div id="scrolled"></div>
        </div>
    </div>
</div>
