diff options
Diffstat (limited to 'chrome/common')
-rw-r--r-- | chrome/common/sqlite_utils.cc | 7 | ||||
-rw-r--r-- | chrome/common/time_format.cc | 12 |
2 files changed, 11 insertions, 8 deletions
diff --git a/chrome/common/sqlite_utils.cc b/chrome/common/sqlite_utils.cc index d11b925..9d16c7f 100644 --- a/chrome/common/sqlite_utils.cc +++ b/chrome/common/sqlite_utils.cc @@ -8,8 +8,8 @@ #include "base/file_path.h" #include "base/lock.h" +#include "base/lazy_instance.h" #include "base/logging.h" -#include "base/singleton.h" #include "base/stl_util-inl.h" #include "base/string16.h" @@ -76,10 +76,13 @@ class DefaultSQLErrorHandlerFactory : public SQLErrorHandlerFactory { Lock lock_; }; +static base::LazyInstance<DefaultSQLErrorHandlerFactory> + g_default_sql_error_handler_factory(base::LINKER_INITIALIZED); + SQLErrorHandlerFactory* GetErrorHandlerFactory() { // TODO(cpu): Testing needs to override the error handler. // Destruction of DefaultSQLErrorHandlerFactory handled by at_exit manager. - return Singleton<DefaultSQLErrorHandlerFactory>::get(); + return g_default_sql_error_handler_factory.Pointer(); } namespace sqlite_utils { diff --git a/chrome/common/time_format.cc b/chrome/common/time_format.cc index c62f4f5..9de3a402 100644 --- a/chrome/common/time_format.cc +++ b/chrome/common/time_format.cc @@ -7,9 +7,9 @@ #include <vector> #include "app/l10n_util.h" +#include "base/lazy_instance.h" #include "base/logging.h" #include "base/scoped_ptr.h" -#include "base/singleton.h" #include "base/stl_util-inl.h" #include "base/string16.h" #include "base/time.h" @@ -168,8 +168,7 @@ class TimeFormatter { STLDeleteContainerPointers(time_elapsed_formatter_.begin(), time_elapsed_formatter_.end()); } - friend class Singleton<TimeFormatter>; - friend struct DefaultSingletonTraits<TimeFormatter>; + friend struct base::DefaultLazyInstanceTraits<TimeFormatter>; std::vector<icu::PluralFormat*> short_formatter_; std::vector<icu::PluralFormat*> time_left_formatter_; @@ -182,6 +181,9 @@ class TimeFormatter { DISALLOW_COPY_AND_ASSIGN(TimeFormatter); }; +static base::LazyInstance<TimeFormatter> g_time_formatter( + base::LINKER_INITIALIZED); + void TimeFormatter::BuildFormats( FormatType format_type, std::vector<icu::PluralFormat*>* time_formats) { static const icu::UnicodeString kKeywords[] = { @@ -253,8 +255,6 @@ icu::PluralFormat* TimeFormatter::createFallbackFormat( return format; } -Singleton<TimeFormatter> time_formatter; - static string16 FormatTimeImpl(const TimeDelta& delta, FormatType format_type) { if (delta.ToInternalValue() < 0) { NOTREACHED() << "Negative duration"; @@ -264,7 +264,7 @@ static string16 FormatTimeImpl(const TimeDelta& delta, FormatType format_type) { int number; const std::vector<icu::PluralFormat*>& formatters = - time_formatter->formatter(format_type); + g_time_formatter.Get().formatter(format_type); UErrorCode error = U_ZERO_ERROR; icu::UnicodeString time_string; |