summaryrefslogtreecommitdiffstats
path: root/content/browser/debugger
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-08 07:48:23 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-08 07:48:23 +0000
commitc08596702d2a16f21777c707db6641897fda5964 (patch)
tree05a192b585f9f63cd5d7b09f720cf657934109d2 /content/browser/debugger
parentdd33a3dc4f6483334d8d32212c49305e7a882971 (diff)
downloadchromium_src-c08596702d2a16f21777c707db6641897fda5964.zip
chromium_src-c08596702d2a16f21777c707db6641897fda5964.tar.gz
chromium_src-c08596702d2a16f21777c707db6641897fda5964.tar.bz2
content: Remove 16 exit time destructors and 15 static initializers.
BUG=101600,94925 TEST=none TBR=ben Review URL: http://codereview.chromium.org/8493016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108982 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/debugger')
-rw-r--r--content/browser/debugger/devtools_agent_host.h3
-rw-r--r--content/browser/debugger/devtools_client_host.cc22
-rw-r--r--content/browser/debugger/devtools_client_host.h2
-rw-r--r--content/browser/debugger/devtools_http_protocol_handler.cc35
-rw-r--r--content/browser/debugger/render_view_devtools_agent_host.cc21
-rw-r--r--content/browser/debugger/render_view_devtools_agent_host.h3
6 files changed, 51 insertions, 35 deletions
diff --git a/content/browser/debugger/devtools_agent_host.h b/content/browser/debugger/devtools_agent_host.h
index 3eb7a33..fe430dd 100644
--- a/content/browser/debugger/devtools_agent_host.h
+++ b/content/browser/debugger/devtools_agent_host.h
@@ -6,7 +6,6 @@
#define CONTENT_BROWSER_DEBUGGER_DEVTOOLS_AGENT_HOST_H_
#pragma once
-#include <map>
#include <string>
#include "content/common/content_export.h"
@@ -15,8 +14,6 @@ namespace IPC {
class Message;
}
-typedef std::map<std::string, std::string> DevToolsRuntimeProperties;
-
// Describes interface for managing devtools agents from the browser process.
class CONTENT_EXPORT DevToolsAgentHost {
public:
diff --git a/content/browser/debugger/devtools_client_host.cc b/content/browser/debugger/devtools_client_host.cc
index 5e79723..3250dc8 100644
--- a/content/browser/debugger/devtools_client_host.cc
+++ b/content/browser/debugger/devtools_client_host.cc
@@ -4,17 +4,23 @@
#include <algorithm>
+#include "base/lazy_instance.h"
#include "base/logging.h"
#include "content/browser/debugger/devtools_client_host.h"
#include "content/browser/debugger/devtools_manager.h"
-DevToolsClientHost::DevToolsClientHostList DevToolsClientHost::instances_;
+typedef std::vector<DevToolsClientHost*> DevToolsClientHostList;
+namespace {
+base::LazyInstance<DevToolsClientHostList,
+ base::LeakyLazyInstanceTraits<DevToolsClientHostList> >
+ g_instances(base::LINKER_INITIALIZED);
+} // namespace
// static
DevToolsClientHost* DevToolsClientHost::FindOwnerClientHost(
RenderViewHost* client_rvh) {
- for (DevToolsClientHostList::iterator it = instances_.begin();
- it != instances_.end(); ++it) {
+ for (DevToolsClientHostList::iterator it = g_instances.Get().begin();
+ it != g_instances.Get().end(); ++it) {
if ((*it)->GetClientRenderViewHost() == client_rvh)
return *it;
}
@@ -22,11 +28,11 @@ DevToolsClientHost* DevToolsClientHost::FindOwnerClientHost(
}
DevToolsClientHost::~DevToolsClientHost() {
- DevToolsClientHostList::iterator it = std::find(instances_.begin(),
- instances_.end(),
+ DevToolsClientHostList::iterator it = std::find(g_instances.Get().begin(),
+ g_instances.Get().end(),
this);
- DCHECK(it != instances_.end());
- instances_.erase(it);
+ DCHECK(it != g_instances.Get().end());
+ g_instances.Get().erase(it);
}
RenderViewHost* DevToolsClientHost::GetClientRenderViewHost() {
@@ -34,7 +40,7 @@ RenderViewHost* DevToolsClientHost::GetClientRenderViewHost() {
}
DevToolsClientHost::DevToolsClientHost() : close_listener_(NULL) {
- instances_.push_back(this);
+ g_instances.Get().push_back(this);
}
void DevToolsClientHost::ForwardToDevToolsAgent(const IPC::Message& message) {
diff --git a/content/browser/debugger/devtools_client_host.h b/content/browser/debugger/devtools_client_host.h
index f629818..16e4d89 100644
--- a/content/browser/debugger/devtools_client_host.h
+++ b/content/browser/debugger/devtools_client_host.h
@@ -71,8 +71,6 @@ class CONTENT_EXPORT DevToolsClientHost {
private:
CloseListener* close_listener_;
- typedef std::vector<DevToolsClientHost*> DevToolsClientHostList;
- static DevToolsClientHostList instances_;
DISALLOW_COPY_AND_ASSIGN(DevToolsClientHost);
};
diff --git a/content/browser/debugger/devtools_http_protocol_handler.cc b/content/browser/debugger/devtools_http_protocol_handler.cc
index c16659c..a7c4730 100644
--- a/content/browser/debugger/devtools_http_protocol_handler.cc
+++ b/content/browser/debugger/devtools_http_protocol_handler.cc
@@ -8,6 +8,7 @@
#include "base/compiler_specific.h"
#include "base/json/json_writer.h"
+#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/message_loop_proxy.h"
#include "base/string_number_conversions.h"
@@ -92,16 +93,16 @@ class TabContentsIDHelper : public TabContentsObserver {
public:
static int GetID(TabContents* tab) {
- TabContentsToIdMap::iterator it = tabcontents_to_id_.find(tab);
- if (it != tabcontents_to_id_.end())
+ TabContentsToIdMap::iterator it = tabcontents_to_id_.Get().find(tab);
+ if (it != tabcontents_to_id_.Get().end())
return it->second;
TabContentsIDHelper* wrapper = new TabContentsIDHelper(tab);
return wrapper->id_;
}
static TabContents* GetTabContents(int id) {
- IdToTabContentsMap::iterator it = id_to_tabcontents_.find(id);
- if (it != id_to_tabcontents_.end())
+ IdToTabContentsMap::iterator it = id_to_tabcontents_.Get().find(id);
+ if (it != id_to_tabcontents_.Get().end())
return it->second;
return NULL;
}
@@ -110,27 +111,37 @@ class TabContentsIDHelper : public TabContentsObserver {
explicit TabContentsIDHelper(TabContents* tab)
: TabContentsObserver(tab),
id_(next_id++) {
- id_to_tabcontents_[id_] = tab;
- tabcontents_to_id_[tab] = id_;
+ id_to_tabcontents_.Get()[id_] = tab;
+ tabcontents_to_id_.Get()[tab] = id_;
}
virtual ~TabContentsIDHelper() {}
virtual void TabContentsDestroyed(TabContents* tab) {
- id_to_tabcontents_.erase(id_);
- tabcontents_to_id_.erase(tab);
+ id_to_tabcontents_.Get().erase(id_);
+ tabcontents_to_id_.Get().erase(tab);
delete this;
}
int id_;
typedef std::map<int, TabContents*> IdToTabContentsMap;
- static IdToTabContentsMap id_to_tabcontents_;
+ static base::LazyInstance<IdToTabContentsMap,
+ base::LeakyLazyInstanceTraits<IdToTabContentsMap> >
+ id_to_tabcontents_;
typedef std::map<TabContents*, int> TabContentsToIdMap;
- static TabContentsToIdMap tabcontents_to_id_;
+ static base::LazyInstance<TabContentsToIdMap,
+ base::LeakyLazyInstanceTraits<TabContentsToIdMap> >
+ tabcontents_to_id_;
};
-TabContentsIDHelper::IdToTabContentsMap TabContentsIDHelper::id_to_tabcontents_;
-TabContentsIDHelper::TabContentsToIdMap TabContentsIDHelper::tabcontents_to_id_;
+base::LazyInstance<
+ TabContentsIDHelper::IdToTabContentsMap,
+ base::LeakyLazyInstanceTraits<TabContentsIDHelper::IdToTabContentsMap> >
+ TabContentsIDHelper::id_to_tabcontents_(base::LINKER_INITIALIZED);
+base::LazyInstance<
+ TabContentsIDHelper::TabContentsToIdMap,
+ base::LeakyLazyInstanceTraits<TabContentsIDHelper::TabContentsToIdMap> >
+ TabContentsIDHelper::tabcontents_to_id_(base::LINKER_INITIALIZED);
} // namespace
diff --git a/content/browser/debugger/render_view_devtools_agent_host.cc b/content/browser/debugger/render_view_devtools_agent_host.cc
index 5a49afa2..8985b67 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> >
+ g_instances(base::LINKER_INITIALIZED);
+} // namespace
DevToolsAgentHost* RenderViewDevToolsAgentHost::FindFor(
RenderViewHost* rvh) {
- Instances::iterator it = instances_.find(rvh);
- if (it != instances_.end())
+ Instances::iterator it = g_instances.Get().find(rvh);
+ if (it != g_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 = g_instances.Get().begin();
+ it != g_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;
+ g_instances.Get()[rvh] = this;
}
void RenderViewDevToolsAgentHost::SendMessageToAgent(IPC::Message* msg) {
@@ -66,7 +73,7 @@ int RenderViewDevToolsAgentHost::GetRenderProcessId() {
}
RenderViewDevToolsAgentHost::~RenderViewDevToolsAgentHost() {
- instances_.erase(render_view_host_);
+ g_instances.Get().erase(render_view_host_);
}
void RenderViewDevToolsAgentHost::RenderViewHostDestroyed(RenderViewHost* rvh) {
diff --git a/content/browser/debugger/render_view_devtools_agent_host.h b/content/browser/debugger/render_view_devtools_agent_host.h
index 2124512..e741a86 100644
--- a/content/browser/debugger/render_view_devtools_agent_host.h
+++ b/content/browser/debugger/render_view_devtools_agent_host.h
@@ -42,9 +42,6 @@ class CONTENT_EXPORT RenderViewDevToolsAgentHost
RenderViewHost* render_view_host_;
- typedef std::map<RenderViewHost*, RenderViewDevToolsAgentHost*> Instances;
- static Instances instances_;
-
DISALLOW_COPY_AND_ASSIGN(RenderViewDevToolsAgentHost);
};