diff --git a/mozilla/toolkit/components/passwordmgr/base/Makefile.in b/mozilla/toolkit/components/passwordmgr/base/Makefile.in index 2226bee8ca4..bcd09004fd5 100644 --- a/mozilla/toolkit/components/passwordmgr/base/Makefile.in +++ b/mozilla/toolkit/components/passwordmgr/base/Makefile.in @@ -62,6 +62,7 @@ REQUIRES = \ widget \ autocomplete \ pipnss \ + unicharutil \ $(NULL) XPIDLSRCS = \ diff --git a/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp b/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp index f2e6c270d7e..459e625f737 100644 --- a/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp +++ b/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp @@ -70,6 +70,7 @@ #include "nsIAutoCompleteResult.h" #include "nsIPK11TokenDB.h" #include "nsIPK11Token.h" +#include "nsUnicharUtils.h" static const char kPMPropertiesURL[] = "chrome://passwordmgr/locale/passwordmgr.properties"; static PRBool sRememberPasswords = PR_FALSE; @@ -1502,7 +1503,7 @@ nsPasswordManager::AutoCompleteSearch(const nsAString& aSearchString, for (PRInt32 i = result->mArray.Count() - 1; i >= 0; --i) { nsDependentString match(NS_STATIC_CAST(PRUnichar*, result->mArray.ElementAt(i))); if (aSearchString.Length() > match.Length() || - !StringBeginsWith(match, aSearchString)) { + !StringBeginsWith(match, aSearchString, nsCaseInsensitiveStringComparator())) { nsMemory::Free(result->mArray.ElementAt(i)); result->mArray.RemoveElementAt(i); } @@ -1541,7 +1542,7 @@ nsPasswordManager::AutoCompleteSearch(const nsAString& aSearchString, return NS_ERROR_FAILURE; if (aSearchString.Length() <= userValue.Length() && - StringBeginsWith(userValue, aSearchString)) { + StringBeginsWith(userValue, aSearchString, nsCaseInsensitiveStringComparator())) { PRUnichar* data = ToNewUnicode(userValue); if (data) result->mArray.AppendElement(data);