jaubourg [Sat, 12 Feb 2011 02:59:46 +0000 (03:59 +0100)]
Enhances ajaxSetup so that it can take an optional target option, in which case target will be updated instead of ajaxSettings. That way, fields that shouldn't be deep extended can be listed and dealt with in one place. jQuery.ajax now makes use of ajaxSetup with target to create its internal settings object. Fixes #7531 in IE9RC.
jaubourg [Wed, 9 Feb 2011 16:47:33 +0000 (17:47 +0100)]
Fixes #8219. Introduces the mimeType option to override content-type header in conversion (and in native xhr when possible). Adds companion overrideMimeType method on jqXHR object (it simply sets the option). Unit test added.
Colin Snover [Tue, 8 Feb 2011 18:13:27 +0000 (12:13 -0600)]
Revert portions of 7acb141ed7f2dedd950bb65acf878098640d081e that attempt to use a function to hide jQuery metadata from JSON.stringify since this does not work reliably cross-browser (fails in Fx3.5, O11, Saf4).
Colin Snover [Mon, 7 Feb 2011 16:48:38 +0000 (10:48 -0600)]
Update $.data to use a function instead of an object when attaching to JS objects in order to hide attached metadata from JSON.stringify. Remove event.js code that was doing this before specifically for events, which is now redundant. Fixes #8108. 1.5-stable
jaubourg [Sat, 5 Feb 2011 02:08:35 +0000 (03:08 +0100)]
Fixes #8177. XHR transport now considers 304 Not Modified responses as 200 OK if no conditional request header was provided (as per the XMLHttpRequest specification).
jaubourg [Thu, 3 Feb 2011 17:22:37 +0000 (18:22 +0100)]
Don't use a local copy of jQuery.ajaxSettings.isLocal anymore but use the current value so that it is possible to set isLocal to true for protocols unknown to jQuery.
jaubourg [Thu, 3 Feb 2011 05:12:47 +0000 (06:12 +0100)]
Stores jQuery.ajaxSettings.isLocal locally at load time so that any change to it won't affect the transport. Fixes the url parsing regexp to deal with empty domains. Adds informative text into test/localfile.html and handles Opera's failure. Revises the way xhr are created by doing all tests at load time and normalizes all the xhr creation functions so that none of them may throw an exception.
jaubourg [Thu, 3 Feb 2011 01:53:10 +0000 (02:53 +0100)]
Fixes #8152 by applying the same special cases for protocol "chrome-extension:" as were for "file:" (needs tests). Re-organizes and fixes the handling of special cases for HTTP status code in the xhr transport. Also re-organizes the handling of document.location in ajax.js.
jaubourg [Wed, 2 Feb 2011 20:16:26 +0000 (21:16 +0100)]
Fixes #8146 by introducing the xhrFields option with is a map of fieldName/fieldValue to set on the native xhr. Can be used to set withCredentials to true for cross-domain requests if needed.
jaubourg [Wed, 2 Feb 2011 19:52:26 +0000 (20:52 +0100)]
Fixes #8138. Access to document.location is made only once at load time and if it fails (throwing an exception in IE when document.domain is already set), we use the href of an A element instead.
jaubourg [Wed, 2 Feb 2011 12:33:02 +0000 (13:33 +0100)]
Fixes #8135. Makes sure any exception thrown by Firefox when trying to access an XMLHttpRequest property when a network error occured is caught and notified as an error. Added test/networkerror.html to test the behavior.
jaubourg [Mon, 31 Jan 2011 18:59:53 +0000 (19:59 +0100)]
Fixes #8095. Properly handles the case where browser cache needs to be bypassed while server-side logic still delivers proper 304 responses. Unit test added.
jaubourg [Mon, 31 Jan 2011 16:39:54 +0000 (17:39 +0100)]
Makes sure all converters keys are lowercased before any conversion is taking place: dataTypes' names are now truly case insensitive. Unit test edited.
jaubourg [Mon, 31 Jan 2011 13:36:59 +0000 (14:36 +0100)]
Adds an invert method to promises that returns a "inverted" promise that is resolved when the underlying deferred is rejected and rejected when the underlying deferred is resolved.
jaubourg [Sat, 29 Jan 2011 00:25:27 +0000 (01:25 +0100)]
Fixes potential collisions between jsonp requests from different jQuery instances by prefixing the jsonp callback name with the jQuery expando rather than with "jsonp".
Colin Snover [Fri, 28 Jan 2011 16:55:39 +0000 (10:55 -0600)]
Use the original element/fragment as the last item to be appended to the document instead of the first in order to prevent missing elements when appending to multiple elements. Fixes #8070.
jaubourg [Fri, 28 Jan 2011 16:08:46 +0000 (17:08 +0100)]
Compatibility fixes in ajax: exceptions are no longer promoted to strings before being given to callbacks. Updated misleading comment in conversion code.
jaubourg [Wed, 26 Jan 2011 23:58:31 +0000 (00:58 +0100)]
Actually does what https://github.com/jquery/jquery/commit/bab8079593913dbc689404aa4e83c46b9b4c9355 promised: passes the jXHR as the third argument of prefilters and transport factories. Comitted for completness even if if backs this out in the end and only land in 1.5.1.
jeresig [Wed, 26 Jan 2011 21:36:33 +0000 (16:36 -0500)]
Make sure that init is run before jquery is built (avoiding weird warnings when running 'make jquery' or 'make min'). Additionally only attempt to run JSLint or the minifier if NodeJS is installed (avoiding a weird warning when you first run 'make' or 'make all').
jaubourg [Wed, 26 Jan 2011 00:45:00 +0000 (01:45 +0100)]
Fixes #5866. Issue number in previous commit was wrong both in comments and commit message. See https://github.com/jquery/jquery/commit/0e5b341cc0f3f9bf0f6659e09704f2267cfdfdba for previous commit.
jaubourg [Wed, 26 Jan 2011 00:36:05 +0000 (01:36 +0100)]
Fixes #5856. Adds document protocol at the beginning of URLs without protocol (thanks go to skrings for the initial pull request). Simplifies cross-domain detection regexp and logic as a consequence. Also took the opportunity to remove an unused variable. Unit test added.
jaubourg [Sun, 23 Jan 2011 21:03:24 +0000 (22:03 +0100)]
Revised internal implementation of ajaxPrefilter() and ajaxTransport(). Everything is shorter and more efficient now. Also fixes a couple spacing issues that remained.
jaubourg [Sun, 23 Jan 2011 04:01:36 +0000 (05:01 +0100)]
Fixes some coding style issues in core.js. In jQuery.fn.ready(), simplifies the whole code (for better backward compatibility) and removes redefinition of the function itself (in order not to clash with proxying). Also, in jQuery.when(), removes unnecessary closure and early rejection test and makes use of then instead of done/fail (better interoperability).
jaubourg [Sat, 22 Jan 2011 03:45:20 +0000 (04:45 +0100)]
Re-organizes ajax.js: prefilters and transports are no longer stored in ajaxSettings (their structure is not handled correctly by extend() and was causing some overhead when constructing the final options map in ajax()); base function for ajaxPrefilter and ajaxTransport has been renamed and split in two (one for inspection, one for addition); response/dataType determination and data conversion logics have been externalized from the ajax() internal callback; data conversion no longer sets responseXXX fields; some minor re-formatting and simplifications.