| Index: chrome/common/extensions/extension_message_bundle.cc
|
| diff --git a/chrome/common/extensions/extension_message_bundle.cc b/chrome/common/extensions/extension_message_bundle.cc
|
| index 3f7c15222749edc284f57e5071db5c83b83057b1..ea28c835af4ed90f6746d9a8b5d057ab85f700d7 100644
|
| --- a/chrome/common/extensions/extension_message_bundle.cc
|
| +++ b/chrome/common/extensions/extension_message_bundle.cc
|
| @@ -10,9 +10,9 @@
|
| #include "app/l10n_util.h"
|
| #include "base/hash_tables.h"
|
| #include "base/i18n/rtl.h"
|
| +#include "base/lazy_instance.h"
|
| #include "base/linked_ptr.h"
|
| #include "base/scoped_ptr.h"
|
| -#include "base/singleton.h"
|
| #include "base/stl_util-inl.h"
|
| #include "base/string_util.h"
|
| #include "base/utf_string_conversions.h"
|
| @@ -316,18 +316,30 @@ std::string ExtensionMessageBundle::GetL10nMessage(
|
| //
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| +// Unique class for Singleton.
|
| +struct ExtensionToMessagesMap {
|
| + ExtensionToMessagesMap();
|
| + ~ExtensionToMessagesMap();
|
| +
|
| + // Maps extension ID to message map.
|
| + ExtensionToL10nMessagesMap messages_map;
|
| +};
|
| +
|
| +static base::LazyInstance<ExtensionToMessagesMap> g_extension_to_messages_map(
|
| + base::LINKER_INITIALIZED);
|
| +
|
| ExtensionToMessagesMap::ExtensionToMessagesMap() {}
|
|
|
| ExtensionToMessagesMap::~ExtensionToMessagesMap() {}
|
|
|
| ExtensionToL10nMessagesMap* GetExtensionToL10nMessagesMap() {
|
| - return &Singleton<ExtensionToMessagesMap>()->messages_map;
|
| + return &g_extension_to_messages_map.Get().messages_map;
|
| }
|
|
|
| L10nMessagesMap* GetL10nMessagesMap(const std::string extension_id) {
|
| ExtensionToL10nMessagesMap::iterator it =
|
| - Singleton<ExtensionToMessagesMap>()->messages_map.find(extension_id);
|
| - if (it != Singleton<ExtensionToMessagesMap>()->messages_map.end())
|
| + g_extension_to_messages_map.Get().messages_map.find(extension_id);
|
| + if (it != g_extension_to_messages_map.Get().messages_map.end())
|
| return &(it->second);
|
|
|
| return NULL;
|
|
|