<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.testRunner) {
        testRunner.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>
