aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2010-11-09 12:40:55 -0500
committerJohn Resig <jeresig@gmail.com>2010-11-09 12:40:55 -0500
commitaa743969763bde258fd16979c7205605ac6eae0f (patch)
tree0075ee377862b614bcad9abcd2c7c562a837a48d
parentfb48ae8e6cca25fd29ef2b1eb23e9efa7b0eef7c (diff)
parente57b73a0ac6f8fd0cdbbe7d43f1c7e198f475337 (diff)
downloadjquery-aa743969763bde258fd16979c7205605ac6eae0f.tar.gz
jquery-aa743969763bde258fd16979c7205605ac6eae0f.zip
Merge branch 'bug7422' of https://github.com/csnover/jquery into csnover-bug7422
-rw-r--r--src/ajax.js9
-rw-r--r--test/unit/ajax.js5
2 files changed, 9 insertions, 5 deletions
diff --git a/src/ajax.js b/src/ajax.js
index 9195bcc89..d10b93112 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -463,10 +463,11 @@ jQuery.extend({
try {
var oldAbort = xhr.abort;
xhr.abort = function() {
- // xhr.abort in IE7 is not a native JS function
- // and does not have a call property
- if ( xhr && oldAbort.call ) {
- oldAbort.call( xhr );
+ if ( xhr ) {
+ // oldAbort has no call property in IE7 so
+ // just do it this way, which works in all
+ // browsers
+ Function.prototype.call.call( oldAbort, xhr );
}
onreadystatechange( "abort" );
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index b2e51fbcf..4ce14c24c 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -137,7 +137,7 @@ test(".load()) - 404 error callbacks", function() {
});
test("jQuery.ajax() - abort", function() {
- expect( 6 );
+ expect( 8 );
stop();
jQuery('#foo').ajaxStart(function(){
@@ -157,7 +157,10 @@ test("jQuery.ajax() - abort", function() {
complete: function(){ ok(true, "complete"); }
});
+ equals( xhr.readyState, 1, "XHR readyState indicates successful dispatch" );
+
xhr.abort();
+ equals( xhr.readyState, 0, "XHR readyState indicates successful abortion" );
});
test("Ajax events with context", function() {