CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/. Bug 22475: REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore In both cases, readyState 4 should be reached, and 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