From the spec it looks to me that onabort is only fired when the user calls `xhr.abort()`? Since users call *our* jqXHR to abort I don't think it buys us anything. The timeout logic is handled in ajax.js for all transports.