<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>No relayout when all frames are fixed</title>
<script type="text/javascript">
if (window.layoutTestController)
    layoutTestController.waitUntilDone();
var i = 0;
function test()
{
    i++;
    var f = document.getElementById('f');
    switch(i) {
        case 1:
            window.setTimeout(test, 100);
            break;
        case 2:
            f.src = "resources/frame2.html";
            break;
        case 3:
            window.setTimeout(test, 100);
            break;
        case 4:
            f.src = "resources/frame1.html";
            break;
        case 5:
            window.setTimeout(test, 100);
            break;
        case 6:
            if (window.layoutTestController)
                layoutTestController.notifyDone();
            break;
    }
}
</script>
</head>
<frameset>
    <frame onload="test()" id="f" src="resources/frame1.html" noresize>
</frameset>
</html>
