<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 one _charset_=ISO-2022-JP</p>

<form id="testForm" action="resources/char-encoding-in-hidden-charset-field.py" method="post" accept-charset="ISO-2022-JP">
<input type=hidden name="_charset_">
<input type=submit>
</form>

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

var form = document.getElementById("testForm");
form.submit();
</script>

</body>
</html>
