CONSOLE MESSAGE: Not allowed to load local resource: nonexistent.html CONSOLE MESSAGE: Not allowed to request resource CONSOLE MESSAGE: XMLHttpRequest cannot load nonexistent.html due to access control checks. Bug 22475: REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore In both cases, readyState 4 should be reached. Because one of the requests is synchronous and for a file: URL, only a single error handler should be invoked. Doing an XHR to a nonexistent file. ReadyState handler: readyState = 1 ReadyState handler: readyState = 4 Error handler: readyState = 4 Doing an XHR to a directory. ReadyState handler: readyState = 1 ReadyState handler: readyState = 4