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

Side by Side Diff: content/browser/devtools/worker_devtools_manager.cc

Issue 223123003: Make DevTools support for the embedded SharedWorker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed version Created 6 years, 8 months 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
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/devtools/worker_devtools_manager.h" 5 #include "content/browser/devtools/worker_devtools_manager.h"
6 6
7 #include <list> 7 #include <list>
8 #include <map> 8 #include <map>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
12 #include "content/browser/devtools/devtools_manager_impl.h" 12 #include "content/browser/devtools/devtools_manager_impl.h"
13 #include "content/browser/devtools/devtools_protocol.h" 13 #include "content/browser/devtools/devtools_protocol.h"
14 #include "content/browser/devtools/devtools_protocol_constants.h" 14 #include "content/browser/devtools/devtools_protocol_constants.h"
15 #include "content/browser/devtools/ipc_devtools_agent_host.h" 15 #include "content/browser/devtools/ipc_devtools_agent_host.h"
16 #include "content/browser/devtools/shared_worker_devtools_manager.h"
16 #include "content/browser/devtools/worker_devtools_message_filter.h" 17 #include "content/browser/devtools/worker_devtools_message_filter.h"
17 #include "content/browser/worker_host/worker_service_impl.h" 18 #include "content/browser/worker_host/worker_service_impl.h"
18 #include "content/common/devtools_messages.h" 19 #include "content/common/devtools_messages.h"
19 #include "content/public/browser/browser_thread.h" 20 #include "content/public/browser/browser_thread.h"
20 #include "content/public/browser/child_process_data.h" 21 #include "content/public/browser/child_process_data.h"
21 #include "content/public/common/process_type.h" 22 #include "content/public/common/process_type.h"
22 23
23 namespace content { 24 namespace content {
24 25
25 // Called on the UI thread. 26 // Called on the UI thread.
26 // static 27 // static
27 scoped_refptr<DevToolsAgentHost> DevToolsAgentHost::GetForWorker( 28 scoped_refptr<DevToolsAgentHost> DevToolsAgentHost::GetForWorker(
28 int worker_process_id, 29 int worker_process_id,
29 int worker_route_id) { 30 int worker_route_id) {
30 return WorkerDevToolsManager::GetDevToolsAgentHostForWorker( 31 if (WorkerService::EmbeddedSharedWorkerEnabled()) {
31 worker_process_id, 32 return SharedWorkerDevToolsManager::GetInstance()
32 worker_route_id); 33 ->GetDevToolsAgentHostForWorker(worker_process_id, worker_route_id);
34 } else {
35 return WorkerDevToolsManager::GetDevToolsAgentHostForWorker(
36 worker_process_id, worker_route_id);
37 }
33 } 38 }
34 39
35 namespace { 40 namespace {
36 41
37 typedef std::map<WorkerDevToolsManager::WorkerId, 42 typedef std::map<WorkerDevToolsManager::WorkerId,
38 WorkerDevToolsManager::WorkerDevToolsAgentHost*> AgentHosts; 43 WorkerDevToolsManager::WorkerDevToolsAgentHost*> AgentHosts;
39 base::LazyInstance<AgentHosts>::Leaky g_agent_map = LAZY_INSTANCE_INITIALIZER; 44 base::LazyInstance<AgentHosts>::Leaky g_agent_map = LAZY_INSTANCE_INITIALIZER;
40 base::LazyInstance<AgentHosts>::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER; 45 base::LazyInstance<AgentHosts>::Leaky g_orphan_map = LAZY_INSTANCE_INITIALIZER;
41 46
42 } // namespace 47 } // namespace
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 worker_url(url), 205 worker_url(url),
201 worker_name(name) {} 206 worker_name(name) {}
202 WorkerProcessHost* const host; 207 WorkerProcessHost* const host;
203 int const route_id; 208 int const route_id;
204 GURL worker_url; 209 GURL worker_url;
205 base::string16 worker_name; 210 base::string16 worker_name;
206 }; 211 };
207 212
208 // static 213 // static
209 WorkerDevToolsManager* WorkerDevToolsManager::GetInstance() { 214 WorkerDevToolsManager* WorkerDevToolsManager::GetInstance() {
215 DCHECK(!WorkerService::EmbeddedSharedWorkerEnabled());
210 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 216 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
211 return Singleton<WorkerDevToolsManager>::get(); 217 return Singleton<WorkerDevToolsManager>::get();
212 } 218 }
213 219
214 // static 220 // static
215 DevToolsAgentHost* WorkerDevToolsManager::GetDevToolsAgentHostForWorker( 221 DevToolsAgentHost* WorkerDevToolsManager::GetDevToolsAgentHostForWorker(
216 int worker_process_id, 222 int worker_process_id,
217 int worker_route_id) { 223 int worker_route_id) {
224 DCHECK(!WorkerService::EmbeddedSharedWorkerEnabled());
218 WorkerId id(worker_process_id, worker_route_id); 225 WorkerId id(worker_process_id, worker_route_id);
219 AgentHosts::iterator it = g_agent_map.Get().find(id); 226 AgentHosts::iterator it = g_agent_map.Get().find(id);
220 if (it == g_agent_map.Get().end()) 227 if (it == g_agent_map.Get().end())
221 return new WorkerDevToolsAgentHost(id); 228 return new WorkerDevToolsAgentHost(id);
222 return it->second; 229 return it->second;
223 } 230 }
224 231
225 WorkerDevToolsManager::WorkerDevToolsManager() { 232 WorkerDevToolsManager::WorkerDevToolsManager() {
226 } 233 }
227 234
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 process->Send(new DevToolsAgentMsg_ResumeWorkerContext(id.second)); 444 process->Send(new DevToolsAgentMsg_ResumeWorkerContext(id.second));
438 } 445 }
439 446
440 WorkerDevToolsManager::WorkerDevToolsAgentHost::~WorkerDevToolsAgentHost() { 447 WorkerDevToolsManager::WorkerDevToolsAgentHost::~WorkerDevToolsAgentHost() {
441 DetachedClientHosts::RemovePendingWorkerData(worker_id_); 448 DetachedClientHosts::RemovePendingWorkerData(worker_id_);
442 g_agent_map.Get().erase(worker_id_); 449 g_agent_map.Get().erase(worker_id_);
443 g_orphan_map.Get().erase(worker_id_); 450 g_orphan_map.Get().erase(worker_id_);
444 } 451 }
445 452
446 } // namespace content 453 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/worker_devtools_manager.h ('k') | content/browser/shared_worker/shared_worker_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698