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

    function updateSrc() {
        var img = document.getElementById("foo");
        // srcset must be set first, otherwise 'src' is loaded as well
        img.srcset = "resources/blue-100-px-square.png 1x, resources/green-400-px-square.png 2x";
        img.src = "resources/blue-100-px-square.png"
    }

    addEventListener("DOMContentLoaded", function() {
        if (sessionStorage.pageReloaded)
            testRunner.dumpResourceResponseMIMETypes();
        updateSrc();
    }, false);

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

<body id="body">
    <div>This test passes if this img tag below is a green square when the scale factor is 2.
      It ensures that attributes can be changed dynamically from javascript, and that only the correct resource is loaded.</div>
    <img id="foo">
</body>
</html>
