From 0e97dcab55b48eaa795da64b6b41adc656312008 Mon Sep 17 00:00:00 2001 From: "bryner%brianryner.com" Date: Thu, 16 Oct 2003 09:44:52 +0000 Subject: [PATCH] port fix to sort strings case-insensitively, bug 220067 --- .../cookieviewer/content/nsWalletTreeUtils.js | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/browser/components/cookieviewer/content/nsWalletTreeUtils.js b/browser/components/cookieviewer/content/nsWalletTreeUtils.js index 3e76c4880cd6..187e25740c63 100644 --- a/browser/components/cookieviewer/content/nsWalletTreeUtils.js +++ b/browser/components/cookieviewer/content/nsWalletTreeUtils.js @@ -126,19 +126,11 @@ function SortTree(tree, view, table, column, lastSortColumn, lastSortAscending, var compareFunc; if (ascending) { compareFunc = function compare(first, second) { - if (first[column] < second[column]) - return -1; - if (first[column] > second[column]) - return 1; - return 0; + return CompareLowerCase(first[column], second[column]); } } else { compareFunc = function compare(first, second) { - if (first[column] < second[column]) - return 1; - if (first[column] > second[column]) - return -1; - return 0; + return CompareLowerCase(second[column], first[column]); } } table.sort(compareFunc); @@ -166,3 +158,22 @@ function SortTree(tree, view, table, column, lastSortColumn, lastSortAscending, return ascending; } + +/** + * Case insensitive string comparator. + */ +function CompareLowerCase(first, second) { + + var firstLower = first.toLowerCase(); + var secondLower = second.toLowerCase(); + + if (firstLower < secondLower) { + return -1; + } + + if (firstLower > secondLower) { + return 1; + } + + return 0; +}