<html manifest="THIS_FILE_DOES_NOT_EXIST.manifest">
<head>
  <script type="text/javascript">
    var onloadHasBeenCalled = false;

    if (window.layoutTestController) {
        layoutTestController.dumpAsText()
        layoutTestController.waitUntilDone();
    }

    window.applicationCache.onchecking = function() {
        if (onloadHasBeenCalled)
            document.getElementById('result').innerHTML = "SUCCESS"
        if (window.layoutTestController)
            layoutTestController.notifyDone();
    }
  </script>
  <script src="THIS_FILE_DOES_NOT_EXIST.js" type="text/javascript"></script>
</head>
<body onload="onloadHasBeenCalled = true">
Test that AppicationCache events are deferred until after onload has been fired.
<div id="result">FAILURE</div>
</body>
</html>
