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

Side by Side Diff: chrome/browser/devtools/devtools_target_impl.cc

Issue 562513003: [DevTools] Unify workers and web contents handling in inspect_ui. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/devtools_target_impl.h ('k') | chrome/browser/devtools/devtools_targets_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698