Chromium Code Reviews| Index: content/browser/debugger/render_view_devtools_agent_host.cc | 
| diff --git a/content/browser/debugger/render_view_devtools_agent_host.cc b/content/browser/debugger/render_view_devtools_agent_host.cc | 
| index 5a49afa2841083f9e4f228814404f300f798d010..b7ed381453d03908b3a9461c5580e7cb61ae7350 100644 | 
| --- a/content/browser/debugger/render_view_devtools_agent_host.cc | 
| +++ b/content/browser/debugger/render_view_devtools_agent_host.cc | 
| @@ -5,6 +5,7 @@ | 
| #include "content/browser/debugger/render_view_devtools_agent_host.h" | 
| #include "base/basictypes.h" | 
| +#include "base/lazy_instance.h" | 
| #include "content/browser/debugger/devtools_manager.h" | 
| #include "content/browser/debugger/render_view_devtools_agent_host.h" | 
| #include "content/browser/renderer_host/render_process_host.h" | 
| @@ -16,12 +17,18 @@ | 
| #include "content/public/browser/notification_service.h" | 
| #include "content/public/browser/notification_types.h" | 
| -RenderViewDevToolsAgentHost::Instances RenderViewDevToolsAgentHost::instances_; | 
| +typedef std::map<RenderViewHost*, RenderViewDevToolsAgentHost*> Instances; | 
| + | 
| +namespace { | 
| +base::LazyInstance<Instances, | 
| + base::LeakyLazyInstanceTraits<Instances> > | 
| + instances_(base::LINKER_INITIALIZED); | 
| 
 
Mark Mentovai
2011/11/07 22:34:15
This should not be named instances_ now.
 
Nico
2011/11/07 23:29:21
Done.
 
 | 
| +} // namespace | 
| DevToolsAgentHost* RenderViewDevToolsAgentHost::FindFor( | 
| RenderViewHost* rvh) { | 
| - Instances::iterator it = instances_.find(rvh); | 
| - if (it != instances_.end()) | 
| + Instances::iterator it = instances_.Get().find(rvh); | 
| + if (it != instances_.Get().end()) | 
| return it->second; | 
| return new RenderViewDevToolsAgentHost(rvh); | 
| } | 
| @@ -32,8 +39,8 @@ bool RenderViewDevToolsAgentHost::IsDebuggerAttached( | 
| if (!devtools_manager) | 
| return false; | 
| RenderViewHostDelegate* delegate = tab_contents; | 
| - for (Instances::iterator it = instances_.begin(); | 
| - it != instances_.end(); ++it) { | 
| + for (Instances::iterator it = instances_.Get().begin(); | 
| + it != instances_.Get().end(); ++it) { | 
| if (it->first->delegate() != delegate) | 
| continue; | 
| if (devtools_manager->GetDevToolsClientHostFor(it->second)) | 
| @@ -45,7 +52,7 @@ bool RenderViewDevToolsAgentHost::IsDebuggerAttached( | 
| RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost(RenderViewHost* rvh) | 
| : RenderViewHostObserver(rvh), | 
| render_view_host_(rvh) { | 
| - instances_[rvh] = this; | 
| + instances_.Get()[rvh] = this; | 
| } | 
| void RenderViewDevToolsAgentHost::SendMessageToAgent(IPC::Message* msg) { | 
| @@ -66,7 +73,7 @@ int RenderViewDevToolsAgentHost::GetRenderProcessId() { | 
| } | 
| RenderViewDevToolsAgentHost::~RenderViewDevToolsAgentHost() { | 
| - instances_.erase(render_view_host_); | 
| + instances_.Get().erase(render_view_host_); | 
| } | 
| void RenderViewDevToolsAgentHost::RenderViewHostDestroyed(RenderViewHost* rvh) { |