<html>
<head>
<title>Test for bug 19079</title>
</head>
<body>
<p>This is a test for https://bugs.webkit.org/show_bug.cgi?id=19079, it send the submissions
character encoding in hidden _charset_ field.
</p>
<p>This should submit _charset_=I\'m a little input, short and stout</p>

<form id="testForm" action="resources/char-encoding-in-hidden-charset-field.php" method="post">
<input type=text name="_charset_" value="I'm a little input, short and stout">
<input type=submit>
</form>

<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var form = document.getElementById("testForm");
form.submit();

</script>
</body>
</html>
