Commit Graph

451 Commits

Author SHA1 Message Date
jaubourg
4e97543051 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. 2011-01-31 14:49:14 +01:00
jeresig
749d41f7de Rename jQuery.subclass() to jQuery.sub(). 2011-01-31 08:21:42 -05:00
Digitalxero
e00f74c43b Make sure subclass is a proper subclass not just subclassing the fn methods. Fixes #7979. 2011-01-27 13:35:06 -05:00
gnarf
ab1d9a8a2c Remove unneeded and confusing variable definition for better readability. 2011-01-27 00:23:08 +01:00
Rick Waldron
8d050558d3 #8044 Removes unnec. rnonword var 2011-01-25 03:52:17 +01:00
Alex Sexton
c50b74372c Moved jQuery global leak to end of file so accidental gEBCN overrides in prototype don't get caught up in confusion. Fixed tests to reference jQuery variable instead of $ (best practice). Fixes #8033 2011-01-23 21:19:33 -06:00
jaubourg
30082d9eba 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). 2011-01-23 05:01:36 +01:00
jeresig
61e80c55df Merge branch '8013p' of https://github.com/rwldrn/jquery into rwldrn-8013p 2011-01-21 11:20:05 -05:00
Gianni Chiappetta
574ae3b1be added: Backcompatibility with old proxy syntax. 2011-01-21 10:33:50 -05:00
Gianni Chiappetta
a03f040dbf Merge branch 'master' into proxy-native-bind
* master: (194 commits)
  Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing problems with the focusin event, see: #7340.
  Replaces "text in-between" technique with a full-fledged one-level transitive search for converters (unit tests added). Also cleans up auto dataType determination and adds converter checks in order to guess the best dataType possible.
  Moves determineResponse logic into main ajax callback. Puts responseXXX fields definitions into ajaxSettings.
  Removes misleading comment.
  Bring jQuery('#id') and jQuery('body') logic back into core (while leaving it in Sizzle at the same time). Was causing too much of a performance hit to leave it all to Sizzle.
  Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respectively.
  Fix typo in regex tweak from previous commit.
  Renames determineDataType as determineResponse. Makes it more generic as a first step into integrating the logic into the main ajax done callback. Also fixes some comments in ajax/xhr.js.
  Move jQuery(...) selector speed-up logic into Sizzle(...) qSA handling. Additionally add in a new catch for Sizzle('.class') (avoid using qSA and use getElementsByClassName instead, where applicable).
  Revises the way arguments are handled in ajax.
  Makes sure statusCode callbacks are ordered in the same way success and error callbacks are. Unit tests added.
  Cleans up and simplifies code shared by ajaxPrefilter and ajaxTransport. Removes chainability of ajaxSetup, ajaxPrefilter and ajaxTransport. Also makes sure context is handled properly by ajaxSetup (unit test added).
  Rework unit tests to check actual result elements.
  Moves active counter test after all other ajax tests where it should be.
  Revised the Nokia support fallback. It turns out that Nokia supports the documentElement property but does not define document.compatMode. Adding this third fallback allows Nokia to run jQuery error-free and return proper values for window width and height.
  Moves things around to make jsLint happier.
  Fixes crossDomain test so that it assumes port to be 80 for http and 443 for https when it is not provided.
  Moves determineDataType into ajaxSettings so that it is accessible to transports without the need for a second argument and so that we can now pass the original options to the transport instead. Also ensures the original options are actually propagated to prefilters (they were not).
  Re-adds hastily removed variable and simplifies statusCode based callbacks handling.
  Use undefined instead of 0 to deference transport for clarity.
  ...

Conflicts:
	src/event.js
2011-01-21 09:58:55 -05:00
rwldrn
6458885881 Cleaned up; fixes per review 2011-01-20 15:25:04 -05:00
jeresig
ea5ce8c2a9 Merge branch 'master' of github.com:jquery/jquery 2011-01-20 11:58:52 -05:00
jeresig
e4d0168893 Bring jQuery('#id') and jQuery('body') logic back into core (while leaving it in Sizzle at the same time). Was causing too much of a performance hit to leave it all to Sizzle. 2011-01-20 11:58:44 -05:00
jaubourg
f2b0c77dc8 Merge branch 'master' of github.com:jquery/jquery 2011-01-20 17:52:10 +01:00
jaubourg
a7cb93bee5 Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respectively. 2011-01-20 17:51:57 +01:00
jeresig
0f6c7830ce Fix typo in regex tweak from previous commit. 2011-01-20 11:46:50 -05:00
jeresig
c475222bfb Move jQuery(...) selector speed-up logic into Sizzle(...) qSA handling. Additionally add in a new catch for Sizzle('.class') (avoid using qSA and use getElementsByClassName instead, where applicable). 2011-01-20 11:34:35 -05:00
Anton M
265cf0efa7 Remove an unused regex and optimize character escape regex usage. 2011-01-19 00:15:28 +01:00
Brandon Sterne
220a0ce162 Defer scriptEval test until first use to prevent Content Security Policy inline-script violations from occuring. Fixes #7371. 2011-01-17 16:31:12 -05:00
jaubourg
5798446b98 Put the split to get the list of promise methods out of the promise method itself and also switched from jQuery.each to a while loop to remove as much overhead as possible. Thanks go to scott_gonzalez for reminding me of this. 2011-01-16 18:33:32 +01:00
jaubourg
c272f5f7da Implements joined jQuery.when statements. Makes it so calling jQuery.when with no parameter returns a resolved promise. Ensures promise method on promises supports the promise(obj) signature. Ensures a deferred and its promise always return the same promise (itself for the promise). Unit tests provided. 2011-01-16 17:41:39 +01:00
Jared Grippe
d483ce0a9c added jQuery.subclass 2011-01-14 10:38:32 -05:00
Colin Snover
b14f02899e Ensure that buildFragment clones elements properly in all browsers. Fixes #3879, #6655. Also improves form element clone tests and fixes bugs in $.fn.clone exposed by these new test cases related to the values of checkboxes and radio buttons in IE. 2011-01-09 18:38:44 -06:00
jaubourg
1ca82ccd94 Renamed "complete" to "done" in order to avoid conflicts with jXHR.complete. 2011-01-06 01:26:06 +01:00
jaubourg
47e4cc1a0f Fixed mixing of tabs & spaces to make JSLint happier. 2011-01-06 01:18:03 +01:00
Colin Snover
e56de77df9 Cleaning up trailing whitespace again. 2011-01-05 15:44:07 -06:00
wycats
ae6655bcb6 Revert "Register as a CommonJS async module if in that kind of environment. Fixes #7102."
This reverts commit 6ffa730721.

Conflicts:

	src/core.js
2011-01-05 13:26:05 -08:00
jaubourg
cbf591152c "then" renamed "complete" and new "then" method defined using "complete" and "fail" internally. The API is still symetrical (complete/fail), still promotes AOP but is also now Promise/A compliant. Changed unit tests and ajax module accordingly. 2011-01-05 04:29:30 +01:00
rwldrn
5f52e61d74 4321 jQuery('#') returns empty jquery object 2011-01-01 17:18:47 -05:00
rwldrn
037d6bd5c3 4321 returns empty jquery object 2011-01-01 17:13:04 -05:00
jaubourg
6fb9759a75 Simplified the way a Promise is tested for (removed promiseMarker). Removed isCancelled helper method from _Deferred, wasn't used nor tested. Reworked jQuery.Deferred and removed unnecessary variables. Also ensured a Promise will return itself when asked for a Promise. Finally, the jQuery.when tests have been revamped. 2010-12-31 04:15:15 +01:00
jaubourg
6dbffb8596 Introduced a new promise method on deferreds that returns an immutable object (exposing then, fail, isResolved, isRejected and promise itself only). Remove $.isDeferred and moved logic directly into $.when. Made sure $.when returns a promise by using promise(). Used promise() in ajax code too. 2010-12-31 04:15:11 +01:00
unknown
240d8b681e Removed custom method in isDeferred and when. 2010-12-31 04:05:56 +01:00
unknown
23d455b446 Deferred cannot be cancelled by returning false in a callback. Exception in the callback are still propagated and execution of remaining callbacks is still possible. 2010-12-31 04:05:55 +01:00
unknown
2d4001b82c Capitalized Deferred & _Deferred to clearly mark them as new types, like Event. 2010-12-31 04:05:53 +01:00
unknown
524bf39400 jQuery.parseXML extracted from ajax & added to core, needs unit testing. 2010-12-31 04:05:50 +01:00
jaubourg
5bfbe7eaf6 Removed NFE to make old Safari happy and avoid leaks in IE (as per David Murdoch's warning). 2010-12-31 04:05:49 +01:00
jaubourg
2fec5dbecd Fixed a loop that only worked in webkit. 2010-12-31 04:02:33 +01:00
jaubourg
39d96ab8c5 Added deferred to core. Used internally for DOM readyness and ajax callbacks. 2010-12-31 04:01:39 +01:00
jaubourg
43828b7482 Removed NFE to make old Safari happy and avoid leaks in IE (as per David Murdoch's warning). 2010-12-31 03:56:11 +01:00
jaubourg
c072dbd4e2 Fixed a loop that only worked in webkit. 2010-12-31 03:49:23 +01:00
jaubourg
5bacb53866 Added deferred to core. Used internally for DOM readyness and ajax callbacks. 2010-12-31 03:49:22 +01:00
Colin Snover
3e0cc81504 Clean trailing whitespace from all files. 2010-12-30 00:34:48 -06:00
Colin Snover
9029dc02a2 Update CommonJS module registration to check to see if define is a function instead of just not undefined. 2010-12-29 23:58:03 -06:00
jrburke
6ffa730721 Register as a CommonJS async module if in that kind of environment. Fixes #7102. 2010-12-27 13:03:27 -06:00
Gianni Chiappetta
6bc9fc7c10 Perf. improvement based on fearphage's suggestion (direct vs call vs apply). 2010-12-18 19:17:37 -05:00
Gianni Chiappetta
5b1b57850c Add a quick test to $.support for native bind.
As per the suggestion by ajpiano: 9f8cd6c499 (commitcomment-218658)
2010-12-15 18:31:10 -05:00
Gianni Chiappetta
9f8cd6c499 Fixing $.proxy to work like (and use) Function.prototype.bind (ticket #7783)
http://bugs.jquery.com/ticket/7783
2010-12-14 21:53:04 -05:00
jeresig
b4bb6e1126 Backing out fb6c038bf0, was causing jQuery.param tests to fail - unfixes #7413. 2010-12-09 13:07:44 -05:00
jeresig
bc05cb9d80 Merge branch 'explain-map-concat' of https://github.com/ajpiano/jquery into ajpiano-explain-map-concat 2010-12-09 12:51:14 -05:00
jeresig
fb6c038bf0 Merge branch 'bug_7413' of https://github.com/rwldrn/jquery into rwldrn-bug_7413 2010-12-09 12:32:15 -05:00
adam j. sontag
34bf1a2a7d Add a comment explaining that jQuery.map flattens arrays 2010-11-27 17:15:33 -05:00
Jephte CLAIN
dd79199a08 fix to follow current source style 2010-11-22 08:30:17 +04:00
Anton M
5c0b5d2560 Improve performance of get() for negative indices. Fixes #5476. 2010-11-19 12:28:13 +01:00
rwldrn
fc563cc42a Fixes #7413; isEmptyObject() check to see if obj passes isPlainObject 2010-11-09 16:14:11 -05:00
John Resig
983548f8eb Make sure that if an additional load event is triggered (such as an iframe being dynamically injected in DOM ready) the ready event isn't triggered twice. Fixes #7352. 2010-11-09 13:44:06 -05:00
John Resig
fb48ae8e6c Make sure that when multiple variables are being declared that assignments are each done on their own line. 2010-11-09 11:09:07 -05:00
jeresig
3df41db036 Make sure that the ready event doesn't double-fire when .bind(ready) is used. Fixes #7247. 2010-10-22 00:08:34 -04:00
Jephte CLAIN
689d63f487 Return control of $ and jQuery only if it is really necessary. This make
jQuery.noConflict() callable anytime.
2010-10-19 09:32:13 +04:00
John Resig
a7d0b0b9e8 Var wasn't being explicitly declared. Fixes #7226. 2010-10-17 10:58:01 -04:00
jeresig
0be7f4eb4f Make sure that opacity is being reset properly on a show animation. Additionally expose jQuery.isNaN from the data module. 2010-09-27 11:51:01 -04:00
jeresig
e0a9615f82 Make sure that the body element exists before doing the body selector optimization. Fixes #6529. 2010-09-24 15:53:38 -04:00
jeresig
a220c81eb9 Increase the speed of the single setTimeout calls for the ready event. 2010-09-24 10:06:36 -04:00
jeresig
6dfdb14753 Merge branch 'master' of github.com:jquery/jquery 2010-09-23 12:09:49 -04:00
Robert Katic
484cc6e220 Made jQuery.type more consistent with host objects. 2010-09-23 12:08:41 -04:00
Robert Katic
694b625c92 Ensured that arrays are not considered same as plain object on deep extending. Fixes #5991. 2010-09-23 12:07:06 -04:00
jeresig
e270d804b4 Delay the result of the readyState check to give scripts the opportunity to delay ready, as described by @jrburke in 747ba7defd. 2010-09-23 11:38:22 -04:00
jeresig
d7a6e75241 Add some tests for jQuery.isWindow and make sure that we're operating against an object before testing. 2010-09-22 16:50:38 -04:00
jeresig
c8dd49f756 Unify the means of detecting a window across the library. Fixes jQuery UI bug #5438 and jQuery bugs #6575 and 6088. 2010-09-22 16:41:51 -04:00
jeresig
8e1d369710 Some minor lint fixes for the RegExp. 2010-09-22 09:46:21 -04:00
jeresig
9dc6e0c572 Applied the RegExp issues reported by Jeff Robinson here: http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html Additionally broke out all remaining inline RegExp. Fixes #7062. 2010-09-22 09:16:28 -04:00
jeresig
19b5d9e874 Re-work the document scoping. 2010-09-22 08:08:45 -04:00
John Resig
1ac3713e7f Fix bug with the readyWait DOM ready addition. 2010-09-21 16:26:36 -04:00
John Resig
747ba7defd Allow plugins to delay the exeuction of the ready event. Delay the ready event by calling: jQuery.readyWait++ and force the event to fire by doing: jQuery.ready(true). Fixes #6781. 2010-09-20 14:53:29 -04:00
jeresig
492a2e2c53 Wrap the core return in parens to fix a confused JSLint. 2010-09-14 09:57:26 -04:00
jeresig
2663041924 Make sure that jQuery is being exposed outside of core (this will be stripped during the build process). Follow-up to #7011. 2010-09-09 08:23:10 -04:00
jeresig
acb162a697 Make sure that the removeEvent and buildFragment private functions are exposed (to help with access across modules). The final API for each of these is very much in flux and will likely change before the final release. Fixes #7011. 2010-09-08 18:13:35 -04:00
John Resig
13f27fcd05 Switched to use 'in' for the setInterval/window check as it also skirts around the Safari 2 NodeList crasher. See the discussion in 94f35d0519 for more details. 2010-08-27 18:17:07 -04:00
John Resig
1ead20c2ed Blackberry 4.6 is capable of finding elements that are no longer in the DOM via getElementById. It only appears to happen when the node has been inside of a cloned Document Fragment. Fixes #6963. 2010-08-27 15:14:30 -04:00
John Resig
ea8b1584b1 Use the native isArray whenever possible. See perf test by jdalton here: http://jsperf.com/isarray-vs-other Fixes #6825. 2010-08-27 13:15:48 -04:00
John Resig
7f18d29287 Simplify the logic in $.type, thanks to jdalton for the suggesiton in 5d2be7e299. 2010-08-27 07:03:30 -07:00
John Resig
5d2be7e299 Added some tweaks to $.type to handle null and undefined. Added a bunch of unit tests as well. 2010-08-27 06:10:52 -07:00
John Resig
94f35d0519 Adding in a jQuery.type(obj) method (a simple map to using Object.prototype.toString.call). Fixes #3330. 2010-08-25 09:57:34 -07:00
John Resig
18dad47489 Tweaked logic for working around Blackberry 4.7 makeArray(RegExp) issue. Fixes #6930. 2010-08-25 09:27:30 -07:00
John Resig
396dd21273 Fixing getting/setting classes and makeArray(RegExp) for Blackberry 4.7. Fixes #6930, #6931. 2010-08-23 12:38:55 -07:00
jeresig
8effe3a7de Made it so that you no longer need to build jQuery in order to run the test suite (but you'll still need a checkout of QUnit and Sizzle, at least). 2010-03-23 12:12:16 -04:00
jeresig
ba8938d444 Switch to using String.prototype.trim from String.trim as it's more-widely available. 2010-03-11 10:49:19 -05:00
jeresig
141ad3c3e2 Landing a faster trim method. Based upon the work by Travis Hardiman and DBJDBJ. More details here: http://forum.jquery.com/topic/faster-jquery-trim Fixes #2279, #4452, and #4835. 2010-03-09 09:14:27 -05:00
jeresig
dcf0fa5048 More changes to get jQuery in line with JSLint. 2010-03-01 21:24:49 -05:00
jeresig
a4043cdcbf Land some additional tweaks related to running through JSLint. 2010-03-01 18:19:29 -05:00
jeresig
a18f682012 Made some code tweaks related to running jQuery through JSLint (thanks to Lorin Larson for the JSLint run). 2010-03-01 12:44:56 -05:00
jeresig
abcc1a76ee If .attr() is run on no elements undefined should be returned (as should be the case when no attribute is found). Fixes #6012. 2010-02-13 02:23:38 -05:00
jeresig
94d925cd46 Make sure leading whitespace is trimmed for parseJSON. Fixes #6031. 2010-02-13 02:14:23 -05:00
jeresig
7a467ed936 Remove the need for the internal setArray method, it was only really used by pushStack anyway. Fixes #6003. 2010-02-13 01:45:09 -05:00
jeresig
cb65daa399 The context for 'body' should still be document, in this case. 2010-01-29 15:04:26 -05:00
jeresig
b8076a914b Landing some minor perf optimization to jQuery(). 2010-01-28 17:17:51 -05:00
jeresig
0db207da23 Optimize for the case where a fragment-bound element is being injected into one other element. 2010-01-28 16:30:37 -05:00
jeresig
781fe8b80d Make empty strings (and other non-string values) simply return null from parseJSON. Also added some parseJSON tests. Fixes #5859. 2010-01-23 17:08:26 -05:00
jeresig
0912109ffc Expose the JSON parsing logic. Fixes #5914. 2010-01-23 16:51:51 -05:00
jeresig
a6ef036bb6 Centralize the logic for throwing exceptions. Fixes #5913. 2010-01-23 16:48:47 -05:00