<!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <title>Layer tree dump for a simple composited layer in non-stacking context overflow</title>
    <style>
        #scroller {
            overflow-y: scroll;
            height: 300px;
            width: 300px;
            margin: 20px;
            border: 13px solid black;
            box-shadow: 0 0 7px black;
            padding: 8px;
        }
        
        .box {
            margin-left: 30px;
            width: 100px;
            height: 100px;
            background-color: blue;
        }
        
        .composited {
            transform: translateZ(0);
            box-shadow: 0 0 4px black;
        }

        .spacer {
            height: 200px;
            width: 20px;
            background-color: silver;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        window.addEventListener('load', () => {
            scroller.scrollTo(0, 50);
            if (window.internals)
                document.getElementById('layers').innerText = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_CLIPPING);
        }, false);
    </script>
</head>
<body>
    <div id="scroller">
        <div class="spacer"></div>
        <div class="composited box"></div>
        <div class="spacer"></div>
    </div>
<pre id="layers"></pre>
</body>
</html>

