<html>
<head>
<script>
    window.onload = () => {
      if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.setBackingScaleFactor(2, () => setTimeout(() => testRunner.notifyDone(), 0));
      }
    }
</script>

    
<style>
    #foo {
        width:100px;
        height:100px;
        background-image: linear-gradient(green, white);
    }
</style>
</head>

<body>
    <div>This test passes if the div below is a blue 100px square when the deviceScaleFactor is 1, and if it is a 100px green-white gradient square when the deviceScaleFactor is 2.</div>
    <div id=foo></div>
</body>
</html>
