Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Side by Side Diff: content/browser/debugger/render_view_devtools_agent_host.cc

Issue 8493016: content: Remove 16 exit time destructors and 15 static initializers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: mac compile Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/debugger/render_view_devtools_agent_host.h" 5 #include "content/browser/debugger/render_view_devtools_agent_host.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/lazy_instance.h"
8 #include "content/browser/debugger/devtools_manager.h" 9 #include "content/browser/debugger/devtools_manager.h"
9 #include "content/browser/debugger/render_view_devtools_agent_host.h" 10 #include "content/browser/debugger/render_view_devtools_agent_host.h"
10 #include "content/browser/renderer_host/render_process_host.h" 11 #include "content/browser/renderer_host/render_process_host.h"
11 #include "content/browser/renderer_host/render_view_host.h" 12 #include "content/browser/renderer_host/render_view_host.h"
12 #include "content/browser/site_instance.h" 13 #include "content/browser/site_instance.h"
13 #include "content/browser/tab_contents/tab_contents.h" 14 #include "content/browser/tab_contents/tab_contents.h"
14 #include "content/common/devtools_messages.h" 15 #include "content/common/devtools_messages.h"
15 #include "content/public/browser/content_browser_client.h" 16 #include "content/public/browser/content_browser_client.h"
16 #include "content/public/browser/notification_service.h" 17 #include "content/public/browser/notification_service.h"
17 #include "content/public/browser/notification_types.h" 18 #include "content/public/browser/notification_types.h"
18 19
19 RenderViewDevToolsAgentHost::Instances RenderViewDevToolsAgentHost::instances_; 20 typedef std::map<RenderViewHost*, RenderViewDevToolsAgentHost*> Instances;
21
22 namespace {
23 base::LazyInstance<Instances,
24 base::LeakyLazyInstanceTraits<Instances> >
25 g_instances(base::LINKER_INITIALIZED);
26 } // namespace
20 27
21 DevToolsAgentHost* RenderViewDevToolsAgentHost::FindFor( 28 DevToolsAgentHost* RenderViewDevToolsAgentHost::FindFor(
22 RenderViewHost* rvh) { 29 RenderViewHost* rvh) {
23 Instances::iterator it = instances_.find(rvh); 30 Instances::iterator it = g_instances.Get().find(rvh);
24 if (it != instances_.end()) 31 if (it != g_instances.Get().end())
25 return it->second; 32 return it->second;
26 return new RenderViewDevToolsAgentHost(rvh); 33 return new RenderViewDevToolsAgentHost(rvh);
27 } 34 }
28 35
29 bool RenderViewDevToolsAgentHost::IsDebuggerAttached( 36 bool RenderViewDevToolsAgentHost::IsDebuggerAttached(
30 TabContents* tab_contents) { 37 TabContents* tab_contents) {
31 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); 38 DevToolsManager* devtools_manager = DevToolsManager::GetInstance();
32 if (!devtools_manager) 39 if (!devtools_manager)
33 return false; 40 return false;
34 RenderViewHostDelegate* delegate = tab_contents; 41 RenderViewHostDelegate* delegate = tab_contents;
35 for (Instances::iterator it = instances_.begin(); 42 for (Instances::iterator it = g_instances.Get().begin();
36 it != instances_.end(); ++it) { 43 it != g_instances.Get().end(); ++it) {
37 if (it->first->delegate() != delegate) 44 if (it->first->delegate() != delegate)
38 continue; 45 continue;
39 if (devtools_manager->GetDevToolsClientHostFor(it->second)) 46 if (devtools_manager->GetDevToolsClientHostFor(it->second))
40 return true; 47 return true;
41 } 48 }
42 return false; 49 return false;
43 } 50 }
44 51
45 RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost(RenderViewHost* rvh) 52 RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost(RenderViewHost* rvh)
46 : RenderViewHostObserver(rvh), 53 : RenderViewHostObserver(rvh),
47 render_view_host_(rvh) { 54 render_view_host_(rvh) {
48 instances_[rvh] = this; 55 g_instances.Get()[rvh] = this;
49 } 56 }
50 57
51 void RenderViewDevToolsAgentHost::SendMessageToAgent(IPC::Message* msg) { 58 void RenderViewDevToolsAgentHost::SendMessageToAgent(IPC::Message* msg) {
52 msg->set_routing_id(render_view_host_->routing_id()); 59 msg->set_routing_id(render_view_host_->routing_id());
53 render_view_host_->Send(msg); 60 render_view_host_->Send(msg);
54 } 61 }
55 62
56 void RenderViewDevToolsAgentHost::NotifyClientClosing() { 63 void RenderViewDevToolsAgentHost::NotifyClientClosing() {
57 content::NotificationService::current()->Notify( 64 content::NotificationService::current()->Notify(
58 content::NOTIFICATION_DEVTOOLS_WINDOW_CLOSING, 65 content::NOTIFICATION_DEVTOOLS_WINDOW_CLOSING,
59 content::Source<content::BrowserContext>( 66 content::Source<content::BrowserContext>(
60 render_view_host_->site_instance()->GetProcess()->browser_context()), 67 render_view_host_->site_instance()->GetProcess()->browser_context()),
61 content::Details<RenderViewHost>(render_view_host_)); 68 content::Details<RenderViewHost>(render_view_host_));
62 } 69 }
63 70
64 int RenderViewDevToolsAgentHost::GetRenderProcessId() { 71 int RenderViewDevToolsAgentHost::GetRenderProcessId() {
65 return render_view_host_->process()->id(); 72 return render_view_host_->process()->id();
66 } 73 }
67 74
68 RenderViewDevToolsAgentHost::~RenderViewDevToolsAgentHost() { 75 RenderViewDevToolsAgentHost::~RenderViewDevToolsAgentHost() {
69 instances_.erase(render_view_host_); 76 g_instances.Get().erase(render_view_host_);
70 } 77 }
71 78
72 void RenderViewDevToolsAgentHost::RenderViewHostDestroyed(RenderViewHost* rvh) { 79 void RenderViewDevToolsAgentHost::RenderViewHostDestroyed(RenderViewHost* rvh) {
73 NotifyCloseListener(); 80 NotifyCloseListener();
74 delete this; 81 delete this;
75 } 82 }
76 83
77 bool RenderViewDevToolsAgentHost::OnMessageReceived( 84 bool RenderViewDevToolsAgentHost::OnMessageReceived(
78 const IPC::Message& message) { 85 const IPC::Message& message) {
79 bool handled = true; 86 bool handled = true;
(...skipping 21 matching lines...) Expand all
101 } 108 }
102 109
103 void RenderViewDevToolsAgentHost::OnClearBrowserCache() { 110 void RenderViewDevToolsAgentHost::OnClearBrowserCache() {
104 content::GetContentClient()->browser()->ClearCache(render_view_host_); 111 content::GetContentClient()->browser()->ClearCache(render_view_host_);
105 } 112 }
106 113
107 void RenderViewDevToolsAgentHost::OnClearBrowserCookies() { 114 void RenderViewDevToolsAgentHost::OnClearBrowserCookies() {
108 content::GetContentClient()->browser()->ClearCookies(render_view_host_); 115 content::GetContentClient()->browser()->ClearCookies(render_view_host_);
109 } 116 }
110 117
OLDNEW
« no previous file with comments | « content/browser/debugger/render_view_devtools_agent_host.h ('k') | content/browser/net/url_request_mock_http_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698