<html>
<script>
    if (window.layoutTestController) {
        layoutTestController.dumpResourceLoadCallbacks();
        layoutTestController.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.layoutTestController) {
    layoutTestController.dumpAsText();
    setTimeout("layoutTestController.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>
