<html>
<head>
<script>
    window.targetScaleFactor = 2;
</script>
<script src="../../resources/srcset-helper.js"></script>
<script src="../../resources/js-test-pre.js"></script>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    function runTest()
    {
        shouldBeTrue('document.getElementById("foo").clientWidth==100');
    }
</script>
</head>

<body id="body">
    <div>This test passes if the image below is a blue square, since the srcset is unhandled (uses a viewport modifier that we will skip)</div>
    <img id="foo" src="resources/blue-100-px-square.png" srcset="resources/green-200-px-square.png 100w 2x">
</body>
</html>
