<!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <title>visibility:hidden scrollers should not be composited for async scrolling</title>
    <style>
        .scroller {
            margin: 20px;
            width: 300px;
            height: 150px;
            border: 2px solid black;
            overflow: scroll;
        }
        
        .contents {
            height: 300%;
            background-image: repeating-linear-gradient(white, silver 100px);
        }
        
        .hidden {
            visibility: hidden;
        }
        
        .box {
            margin: 40px;
            width: 100px;
            height: 100px;
            background-color: blue;
        }
        
        .visible {
            visibility: visible;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        window.addEventListener('load', () => {
            if (window.internals)
                document.getElementById('layers').innerText = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_CLIPPING);
        }, false);
    </script>
s</head>
<body>
    <div class="scroller">
        <div class="contents"></div>
    </div>

    <div class="hidden scroller">
        <div class="contents"></div>
    </div>

    <div class="hidden scroller">
        <div class="contents">
            <div class="visible box"></div>
        </div>
    </div>

    <div class="hidden">
        <div class="scroller">
            <div class="contents">
                <div class="visible box"></div>
            </div>
        </div>
    </div>
<pre id="layers"></pre>
</body>
</html>
