<html>
<head>
<script>
    function timeoutHandler() {
            // Invoke it a few times so that we get the nesting
            count++;
            
            if (count > 10)  {
                clearInterval(intervalID);
                
                if (window.testRunner)
                    testRunner.notifyDone();
            }
        }

    var intervalID;
    var count = 0;

    function runTests() {
        if (window.testRunner) {
            testRunner.dumpAsText()
            testRunner.waitUntilDone();
        }
            
        intervalID = setInterval(timeoutHandler, 1);
    }
    </script>
</head>
<body onload="runTests()">
    This tests that removing an interval timer inside of its timeout handler does not cause a crash. Success, didn't crash!
</body>
</html>
