<html>
<head>
<script>
    window.targetScaleFactor = 1;
</script>
<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.src = "";
    }

    addEventListener("DOMContentLoaded", function() {
        updateSrc();
    }, false);
    addEventListener("load", function() {
        shouldBeTrue('document.getElementById("foo").clientWidth==200');
    }, false);
</script>
</head>
<body id="body">
    <div>This test passes if this img tag below is a green square. It ensures that attributes can be removed dynamically from javascript</div>
    <img id="foo" src="resources/blue-100-px-square.png" srcset="resources/green-400-px-square.png 2x">
</body>
</html>
