Bug Tracker

Ticket #2543: patch.txt

File patch.txt, 8.4 kB (added by flesler, 10 months 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