OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/devtools/devtools_target_impl.h" | 5 #include "chrome/browser/devtools/devtools_target_impl.h" |
6 | 6 |
7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/devtools/devtools_window.h" | 9 #include "chrome/browser/devtools/devtools_window.h" |
10 #include "chrome/browser/extensions/extension_tab_util.h" | 10 #include "chrome/browser/extensions/extension_tab_util.h" |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
269 } | 269 } |
270 | 270 |
271 // static | 271 // static |
272 scoped_ptr<DevToolsTargetImpl> DevToolsTargetImpl::CreateForWebContents( | 272 scoped_ptr<DevToolsTargetImpl> DevToolsTargetImpl::CreateForWebContents( |
273 content::WebContents* web_contents, | 273 content::WebContents* web_contents, |
274 bool is_tab) { | 274 bool is_tab) { |
275 return scoped_ptr<DevToolsTargetImpl>( | 275 return scoped_ptr<DevToolsTargetImpl>( |
276 new WebContentsTarget(web_contents, is_tab)); | 276 new WebContentsTarget(web_contents, is_tab)); |
277 } | 277 } |
278 | 278 |
279 // static | 279 namespace { |
280 DevToolsTargetImpl::List DevToolsTargetImpl::EnumerateWebContentsTargets() { | 280 |
281 static DevToolsTargetImpl::List EnumerateWebContentsTargets() { | |
pfeldman
2014/09/11 17:53:05
- It is either namespace or static.
- anonymous na
dgozman
2014/09/12 10:54:29
Done.
| |
281 std::set<WebContents*> tab_web_contents; | 282 std::set<WebContents*> tab_web_contents; |
282 for (TabContentsIterator it; !it.done(); it.Next()) | 283 for (TabContentsIterator it; !it.done(); it.Next()) |
283 tab_web_contents.insert(*it); | 284 tab_web_contents.insert(*it); |
284 | 285 |
285 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 286 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
286 DevToolsTargetImpl::List result; | 287 DevToolsTargetImpl::List result; |
287 DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll(); | 288 DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll(); |
288 for (DevToolsAgentHost::List::iterator it = agents.begin(); | 289 for (DevToolsAgentHost::List::iterator it = agents.begin(); |
289 it != agents.end(); ++it) { | 290 it != agents.end(); ++it) { |
290 if (WebContents* web_contents = (*it)->GetWebContents()) { | 291 if (WebContents* web_contents = (*it)->GetWebContents()) { |
291 bool is_tab = | 292 bool is_tab = |
292 tab_web_contents.find(web_contents) != tab_web_contents.end(); | 293 tab_web_contents.find(web_contents) != tab_web_contents.end(); |
293 result.push_back(new WebContentsTarget(web_contents, is_tab)); | 294 result.push_back(new WebContentsTarget(web_contents, is_tab)); |
294 } | 295 } |
295 } | 296 } |
296 return result; | 297 return result; |
297 } | 298 } |
298 | 299 |
299 static void CreateWorkerTargets( | 300 static void CreateWorkerTargets( |
300 const std::vector<WorkerService::WorkerInfo>& worker_info, | 301 const std::vector<WorkerService::WorkerInfo>& worker_info, |
301 DevToolsTargetImpl::Callback callback) { | 302 DevToolsTargetImpl::Callback callback) { |
302 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 303 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
303 DevToolsTargetImpl::List result; | 304 DevToolsTargetImpl::List result; |
304 for (size_t i = 0; i < worker_info.size(); ++i) { | 305 for (size_t i = 0; i < worker_info.size(); ++i) { |
305 result.push_back(new WorkerTarget(worker_info[i])); | 306 result.push_back(new WorkerTarget(worker_info[i])); |
306 } | 307 } |
307 callback.Run(result); | 308 callback.Run(result); |
308 } | 309 } |
309 | 310 |
310 // static | 311 static void EnumerateWorkerTargets(DevToolsTargetImpl::Callback callback) { |
311 void DevToolsTargetImpl::EnumerateWorkerTargets(Callback callback) { | |
312 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 312 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
313 content::BrowserThread::PostTask( | 313 content::BrowserThread::PostTask( |
314 content::BrowserThread::UI, | 314 content::BrowserThread::UI, |
315 FROM_HERE, | 315 FROM_HERE, |
316 base::Bind(&CreateWorkerTargets, | 316 base::Bind(&CreateWorkerTargets, |
317 WorkerService::GetInstance()->GetWorkers(), | 317 WorkerService::GetInstance()->GetWorkers(), |
318 callback)); | 318 callback)); |
319 } | 319 } |
320 | 320 |
321 static void CollectAllTargets( | 321 static void CollectAllTargets( |
322 DevToolsTargetImpl::Callback callback, | 322 DevToolsTargetImpl::Callback callback, |
323 const DevToolsTargetImpl::List& worker_targets) { | 323 const DevToolsTargetImpl::List& worker_targets) { |
324 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 324 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
325 DevToolsTargetImpl::List result = | 325 DevToolsTargetImpl::List result = EnumerateWebContentsTargets(); |
326 DevToolsTargetImpl::EnumerateWebContentsTargets(); | |
327 result.insert(result.end(), worker_targets.begin(), worker_targets.end()); | 326 result.insert(result.end(), worker_targets.begin(), worker_targets.end()); |
328 | 327 |
329 DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll(); | 328 DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll(); |
330 for (DevToolsAgentHost::List::iterator it = agents.begin(); | 329 for (DevToolsAgentHost::List::iterator it = agents.begin(); |
331 it != agents.end(); ++it) { | 330 it != agents.end(); ++it) { |
332 if ((*it)->GetType() == DevToolsAgentHost::TYPE_SERVICE_WORKER) | 331 if ((*it)->GetType() == DevToolsAgentHost::TYPE_SERVICE_WORKER) |
333 result.push_back(new WorkerTarget(*it)); | 332 result.push_back(new WorkerTarget(*it)); |
334 } | 333 } |
335 callback.Run(result); | 334 callback.Run(result); |
336 } | 335 } |
337 | 336 |
337 } // namespace | |
338 | |
338 // static | 339 // static |
339 void DevToolsTargetImpl::EnumerateAllTargets(Callback callback) { | 340 void DevToolsTargetImpl::EnumerateAllTargets(Callback callback) { |
340 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 341 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
341 content::BrowserThread::PostTask( | 342 content::BrowserThread::PostTask( |
342 content::BrowserThread::IO, | 343 content::BrowserThread::IO, |
343 FROM_HERE, | 344 FROM_HERE, |
344 base::Bind(&DevToolsTargetImpl::EnumerateWorkerTargets, | 345 base::Bind(&EnumerateWorkerTargets, |
345 base::Bind(&CollectAllTargets, callback))); | 346 base::Bind(&CollectAllTargets, callback))); |
346 } | 347 } |
OLD | NEW |