<!DOCTYPE html>

<html>
<head>
    <style>
        body {
            height: 2000px;
            background-image: url('resources/simple_image.png');
            background-size: 200px 200px;
            background-attachment: fixed;
            overflow: hidden; /* hide scrollbar */
        }
        .fixed {
            position: fixed;
            z-index: -1;
            top: 50px;
            left: 50px;
            width: 200px;
            height: 200px;
            background-color: silver;
        }
    </style>
    <script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        window.internals.settings.setPreferCompositingToLCDTextEnabled(true);
    }

    function doTest()
    {
        window.scrollTo(0, 223);
        if (window.testRunner)
            testRunner.notifyDone();
    }

    window.addEventListener('load', doTest, false);
    </script>
</head>
<body>

    <div class="fixed box"></div>

</body>
</html>
