<!DOCTYPE html>
<html>
<head>
<style>

body {
    margin: 0;
}

.progress {
    position:fixed;
    box-shadow:0 0 10px rgba(119,182,255,0.7);
}

#div1 {
background-color:#269;
background-image:linear-gradient(white 4px, transparent 4px),
                 linear-gradient(90deg, white 4px, transparent 4px);
background-size:200px 150px, 200px 150px;
background-position:-4px -4px, -4px -4px;
height: 52800px;
width: 100%;
}

.shadow {
    box-shadow: inset 0 1px 2px rgba(27,31,35,0.075),0 0 0 0.2em rgba(3,102,214,0.3);
}

</style>
<script>
function doTest() {
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.setBackingScaleFactor(2, finishTest);
    }
}

function finishTest() {
    setTimeout(function() { testRunner.notifyDone(); }, 0);
}
</script>
</head>
<body onload="doTest()">
<div id="div1"></div>
<div class="shadow"></div>
</div>
</body>
</html>
