<html>
<head>
<script>
    if (window.testRunner)
        testRunner.waitUntilDone();

    function runTest() {
        // This tests that changing the size of the outermost SVG updates the background of the SVG.
        document.getElementById('svg').setAttribute('height','200');

        if (window.testRunner)
            testRunner.notifyDone();
    }

    window.addEventListener('load', function() {
        setTimeout(runTest, 0);
    }, false);
</script>
<body>
<svg width="200" height="0" style="background-color: green; position: absolute;" id="svg"></svg>
</body>
</html>