| Index: chrome/plugin/webplugin_proxy.cc
|
| diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc
|
| index 87a4772f28513021fc36f8965be5167433c6e1b5..bb771080baaafccb668d7f0c9356622f8c799893 100644
|
| --- a/chrome/plugin/webplugin_proxy.cc
|
| +++ b/chrome/plugin/webplugin_proxy.cc
|
| @@ -9,13 +9,13 @@
|
| #if defined(OS_WIN)
|
| #include "app/win_util.h"
|
| #endif
|
| +#include "base/lazy_instance.h"
|
| #if defined(OS_MACOSX)
|
| #include "base/mac_util.h"
|
| #include "base/mac/scoped_cftyperef.h"
|
| #endif
|
| #include "base/scoped_handle.h"
|
| #include "base/shared_memory.h"
|
| -#include "base/singleton.h"
|
| #include "build/build_config.h"
|
| #include "chrome/common/child_process_logging.h"
|
| #include "chrome/common/plugin_messages.h"
|
| @@ -47,9 +47,7 @@ using webkit_glue::WebPluginAcceleratedSurface;
|
| #endif
|
|
|
| typedef std::map<CPBrowsingContext, WebPluginProxy*> ContextMap;
|
| -static ContextMap& GetContextMap() {
|
| - return *Singleton<ContextMap>::get();
|
| -}
|
| +static base::LazyInstance<ContextMap> g_context_map(base::LINKER_INITIALIZED);
|
|
|
| WebPluginProxy::WebPluginProxy(
|
| PluginChannel* channel,
|
| @@ -93,7 +91,7 @@ WebPluginProxy::WebPluginProxy(
|
|
|
| WebPluginProxy::~WebPluginProxy() {
|
| if (cp_browsing_context_)
|
| - GetContextMap().erase(cp_browsing_context_);
|
| + g_context_map.Get().erase(cp_browsing_context_);
|
|
|
| #if defined(USE_X11)
|
| if (windowless_shm_pixmap_ != None)
|
| @@ -271,14 +269,14 @@ CPBrowsingContext WebPluginProxy::GetCPBrowsingContext() {
|
| if (cp_browsing_context_ == 0) {
|
| Send(new PluginHostMsg_GetCPBrowsingContext(route_id_,
|
| &cp_browsing_context_));
|
| - GetContextMap()[cp_browsing_context_] = this;
|
| + g_context_map.Get()[cp_browsing_context_] = this;
|
| }
|
| return cp_browsing_context_;
|
| }
|
|
|
| WebPluginProxy* WebPluginProxy::FromCPBrowsingContext(
|
| CPBrowsingContext context) {
|
| - return GetContextMap()[context];
|
| + return g_context_map.Get()[context];
|
| }
|
|
|
| WebPluginResourceClient* WebPluginProxy::GetResourceClient(int id) {
|
|
|