<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=x-mac-cyrillic">
<title>Frames and encodings</title>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.done = function(charset) {
    document.open();
    document.write("<p>" + ((charset == "x-mac-cyrillic") ? "PASS" : "FAIL") + "</p>");
    <!-- It's unlikely that anyone has x-mac-cyrillic as default -->

    document.close();

    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</head>
<frameset rows="0,*">
    <frame src="about:" scrolling=no marginwidth=0 marginheight=0>
    <frame src="resources/frame-default-enc-frame.html">
</frameset>
</html>
