Tagging the 1.5rc1 release.
[jquery.git] / src / queue.js
index e52f37b..9e3e2fb 100644 (file)
@@ -1,3 +1,5 @@
+(function( jQuery ) {
+
 jQuery.extend({
        queue: function( elem, type, data ) {
                if ( !elem ) {
@@ -5,7 +7,7 @@ jQuery.extend({
                }
 
                type = (type || "fx") + "queue";
-               var q = jQuery.data( elem, type );
+               var q = jQuery._data( elem, type );
 
                // Speed up dequeue by getting out quickly if this is just a lookup
                if ( !data ) {
@@ -13,7 +15,7 @@ jQuery.extend({
                }
 
                if ( !q || jQuery.isArray(data) ) {
-                       q = jQuery.data( elem, type, jQuery.makeArray(data) );
+                       q = jQuery._data( elem, type, jQuery.makeArray(data) );
 
                } else {
                        q.push( data );
@@ -25,7 +27,8 @@ jQuery.extend({
        dequeue: function( elem, type ) {
                type = type || "fx";
 
-               var queue = jQuery.queue( elem, type ), fn = queue.shift();
+               var queue = jQuery.queue( elem, type ),
+                       fn = queue.shift();
 
                // If the fx queue is dequeued, always remove the progress sentinel
                if ( fn === "inprogress" ) {
@@ -43,6 +46,10 @@ jQuery.extend({
                                jQuery.dequeue(elem, type);
                        });
                }
+
+               if ( !queue.length ) {
+                       jQuery.removeData( elem, type + "queue", true );
+               }
        }
 });
 
@@ -56,7 +63,7 @@ jQuery.fn.extend({
                if ( data === undefined ) {
                        return jQuery.queue( this[0], type );
                }
-               return this.each(function( i, elem ) {
+               return this.each(function( i ) {
                        var queue = jQuery.queue( this, type, data );
 
                        if ( type === "fx" && queue[0] !== "inprogress" ) {
@@ -88,3 +95,5 @@ jQuery.fn.extend({
                return this.queue( type || "fx", [] );
        }
 });
+
+})( jQuery );