<!DOCTYPE HTML>
<style>
    body {
        margin: 0;
    }
    #top {
        position: relative;
        height: 500px;
        width: 500px;
    }
    #container {
        position: absolute;
        top: 0px;
        bottom: 0px;
        left: 0px;
        right: 0px;
        overflow: hidden;
    }
    #test {
        position: absolute;
        top: 0px;
        bottom: 0px;
        left: 0px;
        right: 140px;
        overflow: hidden;
    }
    .contents {
        display: inline-block;
        background-color: green;
        height: 100px;
        width: 100px;
        overflow: hidden;
    }
</style>
<script>

    function addChildren(test)
    {
        for (i = 0; i < 20; i++) {
            box = document.createElement("div");
            box.setAttribute('class', 'contents');
            box.setAttribute('id', i);
            test.appendChild(box);
        }
    }

    function runTest()
    {
        test = document.getElementById("test");
        addChildren(test);
    }
    window.onload = runTest;
</script>
<div id="top">
<div id="container">
    <div id="test"></div>
</div>
</div>
crbug.com/426166: Tests positioned movement layout when it needs to layout children because it's width has changed.
