Bug Tracker

Ticket #2543: patch.txt

File patch.txt, 8.4 KB (added by flesler, 14 years ago)

Diff with these changes.

Line 
1Index: src/core.js
2===================================================================
3--- src/core.js (revision 5084)
4+++ src/core.js (working copy)
5@@ -729,24 +729,25 @@
6 
7        // args is for internal usage only
8        each: function( object, callback, args ) {
9+               var i = 0, name, length = object.length;
10                if ( args ) {
11-                       if ( object.length == undefined ) {
12-                               for ( var name in object )
13+                       if ( length == undefined ) {
14+                               for ( name in object )
15                                        if ( callback.apply( object[ name ], args ) === false )
16                                                break;
17                        } else
18-                               for ( var i = 0, length = object.length; i < length; i++ )
19+                               for ( ; i < length; i++ )
20                                        if ( callback.apply( object[ i ], args ) === false )
21                                                break;
22 
23                // A special, fast, case for the most common use of each
24                } else {
25-                       if ( object.length == undefined ) {
26-                               for ( var name in object )
27+                       if ( length == undefined ) {
28+                               for ( name in object )
29                                        if ( callback.call( object[ name ], name, object[ name ] ) === false )
30                                                break;
31                        } else
32-                               for ( var i = 0, length = object.length, value = object[0];
33+                               for ( var value = object[0];
34                                        i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
35                }
36 
37@@ -791,9 +792,9 @@
38 
39        // A method for quickly swapping in/out CSS properties to get correct calculations
40        swap: function( elem, options, callback ) {
41-               var old = {};
42+               var old = {}, name;
43                // Remember the old values, and insert the new ones
44-               for ( var name in options ) {
45+               for ( name in options ) {
46                        old[ name ] = elem.style[ name ];
47                        elem.style[ name ] = options[ name ];
48                }
49@@ -801,7 +802,7 @@
50                callback.call( elem );
51 
52                // Revert the old values
53-               for ( var name in options )
54+               for ( name in options )
55                        elem.style[ name ] = old[ name ];
56        },
57 
58@@ -831,7 +832,7 @@
59        },
60 
61        curCSS: function( elem, name, force ) {
62-               var ret;
63+               var ret, style = elem.style;
64 
65                // A helper method for determining if an element's values are broken
66                function color( elem ) {
67@@ -844,7 +845,7 @@
68 
69                // We need to handle opacity special in IE
70                if ( name == "opacity" && jQuery.browser.msie ) {
71-                       ret = jQuery.attr( elem.style, "opacity" );
72+                       ret = jQuery.attr( style, "opacity" );
73 
74                        return ret == "" ?
75                                "1" :
76@@ -852,17 +853,17 @@
77                }
78                // Opera sometimes will give the wrong display answer, this fixes it, see #2037
79                if ( jQuery.browser.opera && name == "display" ) {
80-                       var save = elem.style.outline;
81-                       elem.style.outline = "0 solid black";
82-                       elem.style.outline = save;
83+                       var save = style.outline;
84+                       style.outline = "0 solid black";
85+                       style.outline = save;
86                }
87               
88                // Make sure we're using the right name for getting the float value
89                if ( name.match( /float/i ) )
90                        name = styleFloat;
91 
92-               if ( !force && elem.style && elem.style[ name ] )
93-                       ret = elem.style[ name ];
94+               if ( !force && style && style[ name ] )
95+                       ret = style[ name ];
96 
97                else if ( document.defaultView && document.defaultView.getComputedStyle ) {
98 
99@@ -880,7 +881,7 @@
100                        // If the element isn't reporting its values properly in Safari
101                        // then some display: none elements are involved
102                        else {
103-                               var swap = [], stack = [];
104+                               var swap = [], stack = [], i = 0;
105 
106                                // Locate all of the parent display: none elements
107                                for ( var a = elem; a && color(a); a = a.parentNode )
108@@ -888,7 +889,7 @@
109 
110                                // Go through and make them visible, but in reverse
111                                // (It would be better if we knew the exact display type that they had)
112-                               for ( var i = 0; i < stack.length; i++ )
113+                               for ( ; i < stack.length; i++ )
114                                        if ( color( stack[ i ] ) ) {
115                                                swap[ i ] = stack[ i ].style.display;
116                                                stack[ i ].style.display = "block";
117@@ -901,7 +902,7 @@
118                                        ( getComputedStyle && getComputedStyle.getPropertyValue( name ) ) || "";
119 
120                                // Finally, revert the display styles back
121-                               for ( var i = 0; i < swap.length; i++ )
122+                               for ( ; i < swap.length; i++ )
123                                        if ( swap[ i ] != null )
124                                                stack[ i ].style.display = swap[ i ];
125                        }
126@@ -924,15 +925,15 @@
127                        // but a number that has a weird ending, we need to convert it to pixels
128                        if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
129                                // Remember the original values
130-                               var style = elem.style.left, runtimeStyle = elem.runtimeStyle.left;
131+                               var style = style.left, runtimeStyle = elem.runtimeStyle.left;
132 
133                                // Put in the new values to get a computed value out
134                                elem.runtimeStyle.left = elem.currentStyle.left;
135-                               elem.style.left = ret || 0;
136-                               ret = elem.style.pixelLeft + "px";
137+                               style.left = ret || 0;
138+                               ret = style.pixelLeft + "px";
139 
140                                // Revert the changed values
141-                               elem.style.left = style;
142+                               style.left = style;
143                                elem.runtimeStyle.left = runtimeStyle;
144                        }
145                }
146@@ -1144,13 +1145,14 @@
147 
148                // Also, we need to make sure that the correct elements are being returned
149                // (IE returns comment nodes in a '*' query)
150+               var i = 0;
151                if ( jQuery.browser.msie ) {
152-                       for ( var i = 0; second[ i ]; i++ )
153+                       for (; second[ i ]; i++ )
154                                if ( second[ i ].nodeType != 8 )
155                                        first.push( second[ i ] );
156 
157                } else
158-                       for ( var i = 0; second[ i ]; i++ )
159+                       for (; second[ i ]; i++ )
160                                first.push( second[ i ] );
161 
162                return first;
163Index: src/selector.js
164===================================================================
165--- src/selector.js     (revision 5084)
166+++ src/selector.js     (working copy)
167@@ -114,12 +114,12 @@
168 
169                        t = jQuery.trim(t);
170 
171-                       var foundToken = false;
172+                       var foundToken = false,
173 
174                        // An attempt at speeding up child selectors that
175                        // point to a specific element tag
176-                       var re = quickChild;
177-                       var m = re.exec(t);
178+                               re = quickChild,
179+                               m = re.exec(t);
180 
181                        if ( m ) {
182                                nodeName = m[1].toUpperCase();
183@@ -188,8 +188,8 @@
184 
185                                } else {
186                                        // Optimize for the case nodeName#idName
187-                                       var re2 = quickID;
188-                                       var m = re2.exec(t);
189+                                       re2 = quickID;
190+                                       m = re2.exec(t);
191                                       
192                                        // Re-organize the results, so that they're consistent
193                                        if ( m ) {
194@@ -222,7 +222,7 @@
195                                                ret = r = oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] : [];
196                                        } else {
197                                                // We need to find all descendant elements
198-                                               for ( var i = 0; ret[i]; i++ ) {
199+                                               for ( i = 0; ret[i]; i++ ) {
200                                                        // Grab the tag name being searched for
201                                                        var tag = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2];
202 
203@@ -242,7 +242,7 @@
204                                                        var tmp = [];
205 
206                                                        // Try to find the element with the ID
207-                                                       for ( var i = 0; r[i]; i++ )
208+                                                       for ( i = 0; r[i]; i++ )
209                                                                if ( r[i].getAttribute("id") == m[2] ) {
210                                                                        tmp = [ r[i] ];
211                                                                        break;
212@@ -301,9 +301,9 @@
213                while ( t && t != last ) {
214                        last = t;
215 
216-                       var p = jQuery.parse, m;
217+                       var p = jQuery.parse, m, i = 0, tmp = [];
218 
219-                       for ( var i = 0; p[i]; i++ ) {
220+                       for ( ; p[i]; i++ ) {
221                                m = p[i].exec( t );
222 
223                                if ( m ) {
224@@ -331,9 +331,9 @@
225                                r = jQuery.classFilter(r, m[2], not);
226 
227                        else if ( m[1] == "[" ) {
228-                               var tmp = [], type = m[3];
229+                               var type = m[3], i = 0, rl = r.length;
230                               
231-                               for ( var i = 0, rl = r.length; i < rl; i++ ) {
232+                               for ( ; i < rl; i++ ) {
233                                        var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ];
234                                       
235                                        if ( z == null || /href|src|selected/.test(m[2]) )
236@@ -352,16 +352,17 @@
237 
238                        // We can get a speed boost by handling nth-child here
239                        } else if ( m[1] == ":" && m[2] == "nth-child" ) {
240-                               var merge = {}, tmp = [],
241+                               var merge = {},
242                                        // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
243                                        test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
244                                                m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" ||
245                                                !/\D/.test(m[3]) && "0n+" + m[3] || m[3]),
246                                        // calculate the numbers (first)n+(last) including if they are negative
247-                                       first = (test[1] + (test[2] || 1)) - 0, last = test[3] - 0;
248+                                       first = (test[1] + (test[2] || 1)) - 0;
249+                               last = test[3] - 0;
250 
251                                // loop through all the elements left in the jQuery object
252-                               for ( var i = 0, rl = r.length; i < rl; i++ ) {
253+                               for ( i = 0, rl = r.length; i < rl; i++ ) {
254                                        var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode);
255 
256                                        if ( !merge[id] ) {
257Index: src/event.js
258===================================================================
259--- src/event.js        (revision 5084)
260+++ src/event.js        (working copy)
261@@ -105,7 +105,7 @@
262                if ( elem.nodeType == 3 || elem.nodeType == 8 )
263                        return;
264 
265-               var events = jQuery.data(elem, "events"), ret, index;
266+               var events = jQuery.data(elem, "events"), ret;
267 
268                if ( events ) {
269                        // Unbind all events for the element