| Index: chrome/renderer/extensions/bindings_utils.cc
|
| diff --git a/chrome/renderer/extensions/bindings_utils.cc b/chrome/renderer/extensions/bindings_utils.cc
|
| index 5b213c46469fa155eb154491e3e6159c00f4804a..4776966992e5882c4a30f8dabca89d98901c6b12 100644
|
| --- a/chrome/renderer/extensions/bindings_utils.cc
|
| +++ b/chrome/renderer/extensions/bindings_utils.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/renderer/extensions/bindings_utils.h"
|
|
|
| +#include "base/lazy_instance.h"
|
| #include "base/string_split.h"
|
| #include "base/string_util.h"
|
| #include "chrome/renderer/render_view.h"
|
| @@ -21,11 +22,14 @@ struct SingletonData {
|
| ContextList contexts;
|
| PendingRequestMap pending_requests;
|
| };
|
| +static base::LazyInstance<SingletonData> g_singleton_data(
|
| + base::LINKER_INITIALIZED);
|
|
|
| typedef std::map<int, std::string> StringMap;
|
| +static base::LazyInstance<StringMap> g_string_map(base::LINKER_INITIALIZED);
|
|
|
| const char* GetStringResource(int resource_id) {
|
| - StringMap* strings = Singleton<StringMap>::get();
|
| + StringMap* strings = g_string_map.Pointer();
|
| StringMap::iterator it = strings->find(resource_id);
|
| if (it == strings->end()) {
|
| it = strings->insert(std::make_pair(
|
| @@ -84,7 +88,7 @@ ContextInfo::ContextInfo(v8::Persistent<v8::Context> context,
|
| ContextInfo::~ContextInfo() {}
|
|
|
| ContextList& GetContexts() {
|
| - return Singleton<SingletonData>::get()->contexts;
|
| + return g_singleton_data.Get().contexts;
|
| }
|
|
|
| ContextList GetContextsForExtension(const std::string& extension_id) {
|
| @@ -134,7 +138,7 @@ ContextList::iterator FindContext(v8::Handle<v8::Context> context) {
|
| }
|
|
|
| PendingRequestMap& GetPendingRequestMap() {
|
| - return Singleton<SingletonData>::get()->pending_requests;
|
| + return g_singleton_data.Get().pending_requests;
|
| }
|
|
|
| RenderView* GetRenderViewForCurrentContext() {
|
|
|