<html>
<script>
    if (window.testRunner) {
        testRunner.dumpResourceLoadCallbacks();
        testRunner.waitUntilDone();
    }
</script>
<body>
This tests for the successful use of window.stop()<br>
<iframe src="http://127.0.0.1:8000/incremental/slow-utf8-text.pl"></iframe><br>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    setTimeout("testRunner.notifyDone()", 0); 
}
window.stop();
</script>
TEST FAILED:  If window.stop() works, you shouldn't be able to see this and the above iframe should not have loaded.
</body>
</html>
