<html manifest="subframes-3.manifest"> <script> function test() { applicationCache.onnoupdate = null; try { var req = new XMLHttpRequest; req.open("GET", "simple.txt", false); req.send(null); alert("FAIL, unexpected response: " + req.responseText); } catch (ex) { // Loading should fail, because simple.txt is not in cache manifest. parent.postMessage("allDone", "*"); } } // The cache has been fully created before the iframe was inserted, and the manifest didn't change. applicationCache.onnoupdate = test; applicationCache.onupdateready = function() { alert("Unexpected updateready event") } applicationCache.oncached = function() { alert("Unexpected cached event") } applicationCache.onerror = function() { alert("Unexpected error event") } </script> </html>