diff --git a/mozilla/string/public/nsReadableUtils.h b/mozilla/string/public/nsReadableUtils.h index 6baa3823b9e..5ceb5f46b8a 100755 --- a/mozilla/string/public/nsReadableUtils.h +++ b/mozilla/string/public/nsReadableUtils.h @@ -310,14 +310,22 @@ NS_COM PRUint32 CountCharInReadable( const nsAString& aStr, NS_COM PRUint32 CountCharInReadable( const nsACString& aStr, char aChar ); -NS_COM PRBool StringBeginsWith( const nsAString& aSource, - const nsAString& aSubstring); -NS_COM PRBool StringBeginsWith( const nsACString& aSource, - const nsACString& aSubstring); -NS_COM PRBool StringEndsWith( const nsAString& aSource, - const nsAString& aSubstring); -NS_COM PRBool StringEndsWith( const nsACString& aSource, - const nsACString& aSubstring); +NS_COM PRBool +StringBeginsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator = + nsDefaultStringComparator() ); +NS_COM PRBool +StringBeginsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator = + nsDefaultCStringComparator() ); +NS_COM PRBool +StringEndsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator = + nsDefaultStringComparator() ); +NS_COM PRBool +StringEndsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator = + nsDefaultCStringComparator() ); NS_COM PRUint32 HashString( const nsAString& aStr ); NS_COM PRUint32 HashString( const nsACString& aStr ); diff --git a/mozilla/string/src/nsReadableUtils.cpp b/mozilla/string/src/nsReadableUtils.cpp index 01df2b7e993..c0fa0c46538 100755 --- a/mozilla/string/src/nsReadableUtils.cpp +++ b/mozilla/string/src/nsReadableUtils.cpp @@ -1257,43 +1257,49 @@ CountCharInReadable( const nsACString& aStr, } NS_COM PRBool -StringBeginsWith( const nsAString& aSource, const nsAString& aSubstring) +StringBeginsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator ) { nsAString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, 0, sub_len) == aSubstring; + return Substring(aSource, 0, sub_len).Equals(aSubstring, aComparator); } NS_COM PRBool -StringBeginsWith( const nsACString& aSource, const nsACString& aSubstring) +StringBeginsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator ) { nsACString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, 0, sub_len) == aSubstring; + return Substring(aSource, 0, sub_len).Equals(aSubstring, aComparator); } NS_COM PRBool -StringEndsWith( const nsAString& aSource, const nsAString& aSubstring) +StringEndsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator ) { nsAString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, src_len - sub_len, sub_len) == aSubstring; + return Substring(aSource, src_len - sub_len, sub_len).Equals(aSubstring, + aComparator); } NS_COM PRBool -StringEndsWith( const nsACString& aSource, const nsACString& aSubstring) +StringEndsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator ) { nsACString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, src_len - sub_len, sub_len) == aSubstring; + return Substring(aSource, src_len - sub_len, sub_len).Equals(aSubstring, + aComparator); } diff --git a/mozilla/xpcom/ds/nsIAtom.idl b/mozilla/xpcom/ds/nsIAtom.idl index 92ab78cc246..0ca26cd5c04 100644 --- a/mozilla/xpcom/ds/nsIAtom.idl +++ b/mozilla/xpcom/ds/nsIAtom.idl @@ -93,46 +93,50 @@ interface nsIAtom : nsISupports /** - * Find an atom that matches the given ISO-Latin1 C string. The - * C string is translated into its unicode equivalent. + * Find an atom that matches the given UTF-8 string. + * The string is assumed to be zero terminated. */ -extern NS_COM nsIAtom* NS_NewAtom(const char* utf8String); -extern NS_COM nsIAtom* NS_NewAtom(const nsACString& utf8String); -extern NS_COM nsIAtom* NS_NewPermanentAtom(const char* utf8String); -extern NS_COM nsIAtom* NS_NewPermanentAtom(const nsACString& utf8String); +extern NS_COM nsIAtom* NS_NewAtom(const char* aUTF8String); +extern NS_COM nsIAtom* NS_NewPermanentAtom(const char* aUTF8String); -inline already_AddRefed do_GetAtom(const char* utf8String) - { return NS_NewAtom(utf8String); } -inline already_AddRefed do_GetAtom(const nsACString& utf8String) - { return NS_NewAtom(utf8String); } +inline already_AddRefed do_GetAtom(const char* aUTF8String) + { return NS_NewAtom(aUTF8String); } +inline already_AddRefed do_GetPermanentAtom(const char* aUTF8String) + { return NS_NewPermanentAtom(aUTF8String); } -inline already_AddRefed do_GetPermanentAtom(const char* utf8String) - { return NS_NewPermanentAtom(utf8String); } -inline already_AddRefed do_GetPermanentAtom(const nsACString& utf8String) - { return NS_NewPermanentAtom(utf8String); } +/** + * Find an atom that matches the given UTF-8 string. + */ +extern NS_COM nsIAtom* NS_NewAtom(const nsACString& aUTF8String); +extern NS_COM nsIAtom* NS_NewPermanentAtom(const nsACString& aUTF8String); + +inline already_AddRefed do_GetAtom(const nsACString& aUTF8String) + { return NS_NewAtom(aUTF8String); } +inline already_AddRefed do_GetPermanentAtom(const nsACString& aUTF8String) + { return NS_NewPermanentAtom(aUTF8String); } /** - * Find an atom that matches the given unicode string. The string is assumed - * to be zero terminated. + * Find an atom that matches the given UTF-16 string. + * The string is assumed to be zero terminated. */ -extern NS_COM nsIAtom* NS_NewAtom(const PRUnichar* unicode); -extern NS_COM nsIAtom* NS_NewPermanentAtom(const PRUnichar* unicode); +extern NS_COM nsIAtom* NS_NewAtom(const PRUnichar* aUTF16String); +extern NS_COM nsIAtom* NS_NewPermanentAtom(const PRUnichar* aUTF16String); -inline already_AddRefed do_GetAtom(const PRUnichar* unicode) - { return NS_NewAtom(unicode); } -inline already_AddRefed do_GetPermanentAtom(const PRUnichar* unicode) - { return NS_NewPermanentAtom(unicode); } +inline already_AddRefed do_GetAtom(const PRUnichar* aUTF16String) + { return NS_NewAtom(aUTF16String); } +inline already_AddRefed do_GetPermanentAtom(const PRUnichar* aUTF16String) + { return NS_NewPermanentAtom(aUTF16String); } /** - * Find an atom that matches the given string. + * Find an atom that matches the given UTF-16 string. */ -extern NS_COM nsIAtom* NS_NewAtom(const nsAString& aString); -extern NS_COM nsIAtom* NS_NewPermanentAtom(const nsAString& aString); +extern NS_COM nsIAtom* NS_NewAtom(const nsAString& aUTF16String); +extern NS_COM nsIAtom* NS_NewPermanentAtom(const nsAString& aUTF16String); -inline already_AddRefed do_GetAtom(const nsAString& aString) - { return NS_NewAtom(aString); } -inline already_AddRefed do_GetPermanentAtom(const nsAString& aString) - { return NS_NewPermanentAtom(aString); } +inline already_AddRefed do_GetAtom(const nsAString& aUTF16String) + { return NS_NewAtom(aUTF16String); } +inline already_AddRefed do_GetPermanentAtom(const nsAString& aUTF16String) + { return NS_NewPermanentAtom(aUTF16String); } /** * Return a count of the total number of atoms currently diff --git a/mozilla/xpcom/string/public/nsReadableUtils.h b/mozilla/xpcom/string/public/nsReadableUtils.h index 6baa3823b9e..5ceb5f46b8a 100755 --- a/mozilla/xpcom/string/public/nsReadableUtils.h +++ b/mozilla/xpcom/string/public/nsReadableUtils.h @@ -310,14 +310,22 @@ NS_COM PRUint32 CountCharInReadable( const nsAString& aStr, NS_COM PRUint32 CountCharInReadable( const nsACString& aStr, char aChar ); -NS_COM PRBool StringBeginsWith( const nsAString& aSource, - const nsAString& aSubstring); -NS_COM PRBool StringBeginsWith( const nsACString& aSource, - const nsACString& aSubstring); -NS_COM PRBool StringEndsWith( const nsAString& aSource, - const nsAString& aSubstring); -NS_COM PRBool StringEndsWith( const nsACString& aSource, - const nsACString& aSubstring); +NS_COM PRBool +StringBeginsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator = + nsDefaultStringComparator() ); +NS_COM PRBool +StringBeginsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator = + nsDefaultCStringComparator() ); +NS_COM PRBool +StringEndsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator = + nsDefaultStringComparator() ); +NS_COM PRBool +StringEndsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator = + nsDefaultCStringComparator() ); NS_COM PRUint32 HashString( const nsAString& aStr ); NS_COM PRUint32 HashString( const nsACString& aStr ); diff --git a/mozilla/xpcom/string/src/nsReadableUtils.cpp b/mozilla/xpcom/string/src/nsReadableUtils.cpp index 01df2b7e993..c0fa0c46538 100755 --- a/mozilla/xpcom/string/src/nsReadableUtils.cpp +++ b/mozilla/xpcom/string/src/nsReadableUtils.cpp @@ -1257,43 +1257,49 @@ CountCharInReadable( const nsACString& aStr, } NS_COM PRBool -StringBeginsWith( const nsAString& aSource, const nsAString& aSubstring) +StringBeginsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator ) { nsAString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, 0, sub_len) == aSubstring; + return Substring(aSource, 0, sub_len).Equals(aSubstring, aComparator); } NS_COM PRBool -StringBeginsWith( const nsACString& aSource, const nsACString& aSubstring) +StringBeginsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator ) { nsACString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, 0, sub_len) == aSubstring; + return Substring(aSource, 0, sub_len).Equals(aSubstring, aComparator); } NS_COM PRBool -StringEndsWith( const nsAString& aSource, const nsAString& aSubstring) +StringEndsWith( const nsAString& aSource, const nsAString& aSubstring, + const nsStringComparator& aComparator ) { nsAString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, src_len - sub_len, sub_len) == aSubstring; + return Substring(aSource, src_len - sub_len, sub_len).Equals(aSubstring, + aComparator); } NS_COM PRBool -StringEndsWith( const nsACString& aSource, const nsACString& aSubstring) +StringEndsWith( const nsACString& aSource, const nsACString& aSubstring, + const nsCStringComparator& aComparator ) { nsACString::size_type src_len = aSource.Length(), sub_len = aSubstring.Length(); if (sub_len > src_len) return PR_FALSE; - return Substring(aSource, src_len - sub_len, sub_len) == aSubstring; + return Substring(aSource, src_len - sub_len, sub_len).Equals(aSubstring, + aComparator); }