| Index: base/i18n/file_util_icu.cc
|
| diff --git a/base/i18n/file_util_icu.cc b/base/i18n/file_util_icu.cc
|
| index 0e9c2cddecfd2bc4362cf973b02caf24648f93b9..6da6a8738d619a6b36d37c38b097a4c9b7f8b204 100644
|
| --- a/base/i18n/file_util_icu.cc
|
| +++ b/base/i18n/file_util_icu.cc
|
| @@ -30,7 +30,6 @@ class IllegalCharacters {
|
| }
|
|
|
| private:
|
| - friend class Singleton<IllegalCharacters>;
|
| friend struct DefaultSingletonTraits<IllegalCharacters>;
|
|
|
| IllegalCharacters();
|
| @@ -123,19 +122,19 @@ class LocaleAwareComparator {
|
| namespace file_util {
|
|
|
| bool IsFilenameLegal(const string16& file_name) {
|
| - return Singleton<IllegalCharacters>()->containsNone(file_name);
|
| + return LeakySingleton<IllegalCharacters>()->containsNone(file_name);
|
| }
|
|
|
| void ReplaceIllegalCharactersInPath(FilePath::StringType* file_name,
|
| char replace_char) {
|
| DCHECK(file_name);
|
|
|
| - DCHECK(!(Singleton<IllegalCharacters>()->contains(replace_char)));
|
| + DCHECK(!(LeakySingleton<IllegalCharacters>()->contains(replace_char)));
|
|
|
| // Remove leading and trailing whitespace.
|
| TrimWhitespace(*file_name, TRIM_ALL, file_name);
|
|
|
| - IllegalCharacters* illegal = Singleton<IllegalCharacters>::get();
|
| + IllegalCharacters* illegal = LeakySingleton<IllegalCharacters>::get();
|
| int cursor = 0; // The ICU macros expect an int.
|
| while (cursor < static_cast<int>(file_name->size())) {
|
| int char_begin = cursor;
|
| @@ -171,8 +170,8 @@ void ReplaceIllegalCharactersInPath(FilePath::StringType* file_name,
|
|
|
| bool LocaleAwareCompareFilenames(const FilePath& a, const FilePath& b) {
|
| #if defined(OS_WIN)
|
| - return Singleton<LocaleAwareComparator>()->Compare(a.value().c_str(),
|
| - b.value().c_str()) < 0;
|
| + return LeakySingleton<LocaleAwareComparator>()->Compare(
|
| + a.value().c_str(), b.value().c_str()) < 0;
|
|
|
| #elif defined(OS_POSIX)
|
| // On linux, the file system encoding is not defined. We assume
|
| @@ -181,7 +180,7 @@ bool LocaleAwareCompareFilenames(const FilePath& a, const FilePath& b) {
|
| // ICU's collator can take strings in OS native encoding. But we convert the
|
| // strings to UTF-16 ourselves to ensure conversion consistency.
|
| // TODO(yuzo): Perhaps we should define SysNativeMBToUTF16?
|
| - return Singleton<LocaleAwareComparator>()->Compare(
|
| + return LeakySingleton<LocaleAwareComparator>()->Compare(
|
| WideToUTF16(base::SysNativeMBToWide(a.value().c_str())),
|
| WideToUTF16(base::SysNativeMBToWide(b.value().c_str()))) < 0;
|
| #else
|
|
|