Bug 403621 - "fix various ArrayEnumerator implementations" [p=dao@mozilla.com (Dão Gottwald) r=Mano a1.9=schrep]

This commit is contained in:
reed@reedloden.com 2007-11-21 13:15:39 -08:00
Родитель f1fa6bedaf
Коммит 3e8c69da3b
6 изменённых файлов: 31 добавлений и 36 удалений

Просмотреть файл

@ -167,7 +167,6 @@ function ArrayEnumerator(aItems) {
ArrayEnumerator.prototype = { ArrayEnumerator.prototype = {
_index: 0, _index: 0,
_contents: [],
hasMoreElements: function() { hasMoreElements: function() {
return this._index < this._contents.length; return this._index < this._contents.length;

Просмотреть файл

@ -55,7 +55,6 @@ function ArrayEnumerator(array)
ArrayEnumerator.prototype = { ArrayEnumerator.prototype = {
pos: 0, pos: 0,
array: null,
hasMoreElements: function() { hasMoreElements: function() {
return this.pos < this.array.length; return this.pos < this.array.length;

Просмотреть файл

@ -55,7 +55,6 @@ function ArrayEnumerator(array)
ArrayEnumerator.prototype = { ArrayEnumerator.prototype = {
pos: 0, pos: 0,
array: null,
hasMoreElements: function() { hasMoreElements: function() {
return this.pos < this.array.length; return this.pos < this.array.length;

Просмотреть файл

@ -55,7 +55,6 @@ function ArrayEnumerator(array)
ArrayEnumerator.prototype = { ArrayEnumerator.prototype = {
pos: 0, pos: 0,
array: null,
hasMoreElements: function() { hasMoreElements: function() {
return this.pos < this.array.length; return this.pos < this.array.length;

Просмотреть файл

@ -61,34 +61,33 @@ function APP_URI(aType)
return "urn:mimetype:externalApplication:" + aType; return "urn:mimetype:externalApplication:" + aType;
} }
function ArrayEnumerator(aItems) function ArrayEnumerator(aItems) {
{
this._index = 0;
if (aItems) { if (aItems) {
for (var i = 0; i < aItems.length; ++i) { for (var i = 0; i < aItems.length; ++i) {
if (!aItems[i]) if (!aItems[i])
aItems.splice(i, 1); aItems.splice(i--, 1);
} }
this._contents = aItems;
} else {
this._contents = [];
} }
}
this._contents = aItems || []; ArrayEnumerator.prototype = {
_index: 0,
this.push = function (aElement) hasMoreElements: function () {
{ return this._index < this._contents.length;
},
getNext: function () {
return this._contents[this._index++];
},
push: function (aElement) {
if (aElement) if (aElement)
this._contents.push(aElement); this._contents.push(aElement);
}; }
this.hasMoreElements = function ()
{
return this._index < this._contents.length;
};
this.getNext = function ()
{
return this._contents[this._index++];
};
}; };
function HelperApps() function HelperApps()

Просмотреть файл

@ -909,25 +909,25 @@ function findClosestLocalizedResource(aDataSource, aResource) {
* @constructor * @constructor
*/ */
function ArrayEnumerator(aItems) { function ArrayEnumerator(aItems) {
this._index = 0;
if (aItems) { if (aItems) {
for (var i = 0; i < aItems.length; ++i) { for (var i = 0; i < aItems.length; ++i) {
if (!aItems[i]) if (!aItems[i])
aItems.splice(i, 1); aItems.splice(i--, 1);
}
} }
this._contents = aItems; this._contents = aItems;
} else {
this._contents = [];
}
} }
ArrayEnumerator.prototype = { ArrayEnumerator.prototype = {
_index: 0, _index: 0,
_contents: [],
hasMoreElements: function() { hasMoreElements: function () {
return this._index < this._contents.length; return this._index < this._contents.length;
}, },
getNext: function() { getNext: function () {
return this._contents[this._index++]; return this._contents[this._index++];
} }
}; };
@ -939,19 +939,19 @@ ArrayEnumerator.prototype = {
* @constructor * @constructor
*/ */
function FileEnumerator(files) { function FileEnumerator(files) {
this._index = 0;
if (files) { if (files) {
for (var i = 0; i < files.length; ++i) { for (var i = 0; i < files.length; ++i) {
if (!files[i]) if (!files[i])
files.splice(i, 1); files.splice(i--, 1);
}
} }
this._contents = files; this._contents = files;
} else {
this._contents = [];
}
} }
FileEnumerator.prototype = { FileEnumerator.prototype = {
_index: 0, _index: 0,
_contents: [],
/** /**
* Gets the next file in the sequence. * Gets the next file in the sequence.
@ -966,7 +966,7 @@ FileEnumerator.prototype = {
* Stop enumerating. Nothing to do here. * Stop enumerating. Nothing to do here.
*/ */
close: function() { close: function() {
}, }
}; };
/** /**