Chromium Code Reviews| 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 |