<script>
        if (window.testRunner)
            testRunner.waitUntilDone();
        function runTest()
        {
	        document.getElementById("target").style.removeProperty("display");
            if (window.testRunner)
                testRunner.notifyDone();
        }
</script>
<body onload="setTimeout(runTest, 0);">
    <div style="height: 20px; background-color: lightblue;">
        <div id="target" style="display: none; float: left; width: 100px; height: 100px; background-color: green;"></div>
    </div>
</body>
