Bug 386434: Add-ons aren't sorted correctly in Add-ons manager (problem with non-ascii chars). r=dtownsend

This commit is contained in:
Régis Caspar
2008-08-16 16:05:07 +01:00
parent 99068c5357
commit 2064100f37
2 changed files with 7 additions and 17 deletions
@@ -694,13 +694,9 @@ function displaySearchResults(addons, count, isRecommended) {
gRDF.GetLiteral("header-recommended"),
true);
// Case insensitive sort
// Locale sensitive sort
function compare(a, b) {
if (a.name.toLowerCase() < b.name.toLowerCase())
return -1;
if (a.name.toLowerCase() > b.name.toLowerCase())
return 1;
return 0;
return String.localeCompare(a.name, b.name);
}
addons.sort(compare);
}
@@ -899,13 +895,9 @@ function rebuildPluginsDS()
cleanDataSource(gPluginsDS, rootctr);
// Case insensitive sort
// Locale sensitive sort
function compare(a, b) {
if (a.name.toLowerCase() < b.name.toLowerCase())
return -1;
if (a.name.toLowerCase() > b.name.toLowerCase())
return 1;
return 0;
return String.localeCompare(a.name, b.name);
}
plugins.sort(compare);
@@ -7989,17 +7989,15 @@ ExtensionsDataSource.prototype = {
if (itemType & type) {
items.push({ item : item,
ordinal: ordinal,
sortkey: this.getItemProperty(id, propertyName).toLowerCase() });
sortkey: this.getItemProperty(id, propertyName) });
ordinal++;
}
}
var direction = isAscending ? 1 : -1;
// Case insensitive sort
// Locale sensitive sort
function compare(a, b) {
if (a.sortkey < b.sortkey) return (-1 * direction);
if (a.sortkey > b.sortkey) return (1 * direction);
return 0;
return String.localeCompare(a.sortkey, b.sortkey) * direction;
}
items.sort(compare);