<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.dumpChildFramesAsText();
    testRunner.waitUntilDone();
}
</script>
</head>
<body>
<iframe src="resources/isindex-with-no-form-base-href.html"></iframe>
</body>
</html>
