<!DOCTYPE html>
<script>
if (window.internals) {
    internals.settings.setCSSStickyPositionEnabled(true);
}           
</script>

<html>
<head>
<style>
    body {
        margin: 0;
        height: 2000px;
        overflow: hidden; /* hide scrollbars */
    }
    
    .group {
        display: inline-block;
        position: relative;
        width: 250px;
        height: 500px;
    }
    
    .container {
        width: 200px;
        height: 400px;
        outline: 2px solid black;
    }
    
    .box {
        width: 200px;
        height: 200px;
    }

    .sticky {
        position: sticky;
        top: 100px;
        bottom: 500px;
        background-color: green;
    }
    
    .indicator {
        position: absolute;
        top: 0;
        left: 0;
        background-color: red;
    }
</style>
<script>
    function doTest()
    {
        window.scrollTo(0, 100);
    }
    window.addEventListener('load', doTest, false);
</script>
</head>
<body>
    <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: 100px;"></div>
        <div class="container">
            <div class="sticky box"></div>
        </div>
    </div>

    <div class="group" style="top: 200px">
        <div class="indicator box" style="top: 0;"></div>
        <div class="container">
            <div class="sticky box"></div>
        </div>
    </div>
    <div style="position: absolute; top: 620px;">
        This test checks that sticky positioned table theads are contained by their table.
        There should be no red.
    </div>
</body>
</html>
