<html>
<head>
<script>
function print(message) {
    var paragraph = document.createElement("p");
    paragraph.appendChild(document.createTextNode(message));
    document.getElementById("console").appendChild(paragraph);
}

function test() {
    if (window.layoutTestController) {
        layoutTestController.dumpAsText();
    }

    var e = document.createElement("textarea");
    e.value = "success";
    document.getElementsByTagName("body")[0].appendChild(e);
    print("value of textarea element is: " + e.value);
}
</script>
</head>
<body onload="test();">
<p>This test checks for a regression against <i><rdar://problem/4344760> Glendale REGRESSION (Safari 416.12-417.2) gmail 'reply' does not fill in to: field or quoted message</i>. Specifically, it checks to make sure that a textarea element created without a renderer maintains its value after it gains a renderer.</p>
<p>If the test passes, you will see a value of "success" below.</p>
<hr>
<div id='console'/>
</body>
</html>
