<meta charset="utf-8">
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    internals.settings.setDefaultTextEncodingName("koi8-r");
    testRunner.setCustomPolicyDelegate(true, true);
    testRunner.waitForPolicyDelegate();
}
</script>
<p>Downloaded file name should be "SUССЕSS.txt" (letters "CCE" are Cyrillic).</p>
<a href="resources/literal-koi8-r.py" id=link>Click Me</a>

<script>
if (window.eventSender) {
    var link = document.getElementById("link");
    eventSender.mouseMoveTo(link.offsetLeft + 2,
                            link.offsetTop + 2);
    eventSender.mouseDown();
    eventSender.mouseUp();
}
</script>
