<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <title>Tests the bounds of the clipping layer for nested clips 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;
        }
        
        .clipping {
            overflow: hidden;
            border: 2px solid gray;
        }
        
        .outer.clipping {
            margin: 10px;
            width: 200px;
            height: 100px;
        }

        .inner.clipping {
            margin: 12px;
            width: 100px;
            height: 200px;
        }
        
        .box {
            margin-top: 50px;
            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="outer clipping">
            <div class="inner clipping">
                <div class="composited box"></div>
            </div>
        </div>
        <div class="spacer"></div>
    </div>
<pre id="layers"></pre>
</body>
</html>

