<!DOCTYPE html>

<html>
<head>
    <style>
        body {
            height: 4000px;
        }
        
        .container {
            position: absolute;
            height: 200px;
            width: 200px;
            margin: 20px;
            border: 1px solid black;
            overflow: hidden;
            z-index: 0;
        }
        ol {
            position: relative;
            width: 1000px;
            left: -300px;
        }
        li {
            display: inline-block;
            margin: 20px 10px;
            height: 100px;
            width: 100px;
            border: 10px solid blue;
            background-color: gray;
            box-shadow: 0 0 10px black;
            font-size: 24pt;
            box-sizing: border-box;
            -webkit-transform: translateZ(0);
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        function doTest()
        {
            if (window.internals)
                document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS)
        }

        window.addEventListener('load', doTest, false);
    </script>
</head>
<body>

<div class="container">
    <ol>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ol>
</div>
<pre id="layers">Layer tree goes here when testing</pre>

</body>
</html>

