<!DOCTYPE html>
<script>
if (window.internals) {
    internals.settings.setCSSStickyPositionEnabled(true);
}           
</script>
<html>
<head>
<style>
    .group {
        display: inline-block;
        position: relative;
        width: 150px;
        height: 500px;
    }

    #overflow {
        width: 600px;
        height: 550px;
        overflow: hidden; /* Still scrollable with JS */
        border: 1px solid black;
    }

    .spacer {
        float: left;
        width: 10px;
        height: 1200px;
    }
    .container {
        width: 100px;
        height: 400px;
        outline: 2px solid black;
    }

    .box {
        width: 100px;
        height: 200px;
    }

    .sticky {
        position: sticky;
        top: 100px;
        background-color: green;
    }

    .indicator {
        position: absolute;
        top: 0;
        left: 0;
        background-color: red;
    }
</style>
<script>
    function doTest()
    {
        document.getElementById('overflow').scrollTop = 120;
    }
    window.addEventListener('load', doTest, false);
</script>
</head>
<body>
This test checks that sticky positioned elements are contained by their enclosing ancestor with an overflow clip.
There should be no red.
    <div id="overflow">
        <div class="spacer"></div>
        <div class="group">
            <div class="indicator box" style="top: 200px;"></div>
            <div class="container">
                <div class="sticky box"></div>
            </div>
        </div>

        <div class="group" style="top: 100px">
            <div class="indicator box" style="top: 120px;"></div>
            <div class="container">
                <div class="sticky box"></div>
            </div>
        </div>

        <div class="group" style="top: 240px">
            <div class="indicator box" style="top: 0;"></div>
            <div class="container">
                <div class="sticky box"></div>
            </div>
        </div>
    </div>
</body>
</html>
