<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);

    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. 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>
