<!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <style>
        body {
            height: 2000px;
        }
        
        .scroller {
            width: 620px;
            height: 120px;
            border: 1px solid black;
            overflow-x: scroll;
            scroll-snap-type: x mandatory;
        }
        
        .contents {
            width: 200%;
        }
        
        .box {
            scroll-snap-align: start;
            width: 100px;
            height: 100px;
            margin: 10px;
            background-color: blue;
            display: inline-block;
        }
        
        .scroller.changed .box {
            width: 110px;
        }
        
    </style>
    <script src="../../../resources/js-test-pre.js"></script>
    <script src="../../../resources/ui-helper.js"></script>
    <script>
        var jsTestIsAsync = true;

        var scroller;

        async function scrollTest()
        {
            debug('');
            debug('Scrolling');
            await UIHelper.mouseWheelScrollAt(20, 20, -1, 0, -20, 0);
            shouldBe('scroller.scrollLeft', '258');

            scroller.classList.add('changed');

            debug('Scroller should re-snap');
            await UIHelper.animationFrame();
            shouldBe('scroller.scrollLeft', '278');

            finishJSTest();
        }

        window.addEventListener('load', () => {
            document.body.addEventListener('wheel', () => {}, false); // Force sync scrolling.
            scroller = document.querySelector('.scroller');
            setTimeout(scrollTest, 0);
        }, false);
    </script>
</head>
<body>
    <div class="scroller">
        <div class="contents">
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
        </div>
    </div>
    <div id="console"></div>
    <script src="../../../resources/js-test-post.js"></script>
</body>
</html>
