<html manifest="does-not-exist.manifest"> <script> if (window.layoutTestController) { layoutTestController.dumpAsText() layoutTestController.waitUntilDone(); } function log(message) { document.getElementById("result").innerHTML += message + "<br>"; } function unexpectedEvent(name) { log("FAILURE: Unexpected " + name + " event."); } applicationCache.addEventListener('noupdate', function() { unexpectedEvent("noupdate") }, false); applicationCache.addEventListener('downloading', function() { unexpectedEvent("downloading") }, false); applicationCache.addEventListener('progress', function() { unexpectedEvent("progress") }, false); applicationCache.addEventListener('updateready', function() { unexpectedEvent("updateready") }, false); applicationCache.addEventListener('cached', function() { unexpectedEvent("cached") }, false); applicationCache.addEventListener('obsolete', function() { unexpectedEvent("obsolete") }, false); function test() { if (!gotCheckingEvent) log("FAILURE: Did not get a checking event"); if (window.applicationCache.status) log("FAILURE: Cache status is not UNCACHED, " + window.applicationCache.status); // The manifest failed to load, so there should be no cache, and subresources should be loaded normally. try { var req = new XMLHttpRequest(); req.open("GET", "resources/simple.txt", false); req.send(); if (req.responseText == 'Hello, World!') log("SUCCESS"); else log("FAILURE: Did not get expected response data."); } catch (e) { log("FAILURE: Could not load data."); } if (window.layoutTestController) layoutTestController.notifyDone(); } var gotCheckingEvent = false; applicationCache.addEventListener('checking', function() { gotCheckingEvent = true; }, false); applicationCache.addEventListener('error', function() { test() }, false); </script> <p>Test that subresources can be loaded if manifest is not available. Should say SUCCESS.</p> <div id=result></div> </html>