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

Side by Side Diff: runtime/observatory/lib/src/app/page.dart

Issue 2873013004: Omnibus Observatory UI fixes: (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « no previous file | runtime/observatory/lib/src/debugger/debugger.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of app; 5 part of app;
6 6
7 final _allocationProfileRepository = new AllocationProfileRepository(); 7 final _allocationProfileRepository = new AllocationProfileRepository();
8 final _breakpointRepository = new BreakpointRepository(); 8 final _breakpointRepository = new BreakpointRepository();
9 final _classRepository = new ClassRepository(); 9 final _classRepository = new ClassRepository();
10 final _classSampleProfileRepository = new ClassSampleProfileRepository(); 10 final _classSampleProfileRepository = new ClassSampleProfileRepository();
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 obj, 245 obj,
246 app.events, 246 app.events,
247 app.notifications, 247 app.notifications,
248 _classRepository, 248 _classRepository,
249 _retainedSizeRepository, 249 _retainedSizeRepository,
250 _reachableSizeRepository, 250 _reachableSizeRepository,
251 _inboundReferencesRepository, 251 _inboundReferencesRepository,
252 _retainingPathRepository, 252 _retainingPathRepository,
253 _fieldRepository, 253 _fieldRepository,
254 _scriptRepository, 254 _scriptRepository,
255 _instanceRepository, 255 _objectRepository,
256 _evalRepository, 256 _evalRepository,
257 _stronglyReachangleInstancesRepository, 257 _stronglyReachangleInstancesRepository,
258 _topRetainingInstancesRepository, 258 _topRetainingInstancesRepository,
259 _classSampleProfileRepository, 259 _classSampleProfileRepository,
260 queue: app.queue) 260 queue: app.queue)
261 ]; 261 ];
262 } else if (obj is Code) { 262 } else if (obj is Code) {
263 await obj.loadScript(); 263 await obj.loadScript();
264 container.children = [ 264 container.children = [
265 new CodeViewElement( 265 new CodeViewElement(
266 app.vm, 266 app.vm,
267 obj.isolate, 267 obj.isolate,
268 obj, 268 obj,
269 app.events, 269 app.events,
270 app.notifications, 270 app.notifications,
271 _retainedSizeRepository, 271 _retainedSizeRepository,
272 _reachableSizeRepository, 272 _reachableSizeRepository,
273 _inboundReferencesRepository, 273 _inboundReferencesRepository,
274 _retainingPathRepository, 274 _retainingPathRepository,
275 _instanceRepository, 275 _objectRepository,
276 queue: app.queue) 276 queue: app.queue)
277 ]; 277 ];
278 } else if (obj is Context) { 278 } else if (obj is Context) {
279 container.children = [ 279 container.children = [
280 new ContextViewElement( 280 new ContextViewElement(
281 app.vm, 281 app.vm,
282 obj.isolate, 282 obj.isolate,
283 obj, 283 obj,
284 app.events, 284 app.events,
285 app.notifications, 285 app.notifications,
286 _contextRepository, 286 _contextRepository,
287 _retainedSizeRepository, 287 _retainedSizeRepository,
288 _reachableSizeRepository, 288 _reachableSizeRepository,
289 _inboundReferencesRepository, 289 _inboundReferencesRepository,
290 _retainingPathRepository, 290 _retainingPathRepository,
291 _instanceRepository, 291 _objectRepository,
292 queue: app.queue) 292 queue: app.queue)
293 ]; 293 ];
294 } else if (obj is DartError) { 294 } else if (obj is DartError) {
295 container.children = [ 295 container.children = [
296 new ErrorViewElement(app.notifications, obj, queue: app.queue) 296 new ErrorViewElement(app.notifications, obj, queue: app.queue)
297 ]; 297 ];
298 } else if (obj is Field) { 298 } else if (obj is Field) {
299 container.children = [ 299 container.children = [
300 new FieldViewElement( 300 new FieldViewElement(
301 app.vm, 301 app.vm,
302 obj.isolate, 302 obj.isolate,
303 obj, 303 obj,
304 app.events, 304 app.events,
305 app.notifications, 305 app.notifications,
306 _fieldRepository, 306 _fieldRepository,
307 _classRepository, 307 _classRepository,
308 _retainedSizeRepository, 308 _retainedSizeRepository,
309 _reachableSizeRepository, 309 _reachableSizeRepository,
310 _inboundReferencesRepository, 310 _inboundReferencesRepository,
311 _retainingPathRepository, 311 _retainingPathRepository,
312 _scriptRepository, 312 _scriptRepository,
313 _instanceRepository, 313 _objectRepository,
314 queue: app.queue) 314 queue: app.queue)
315 ]; 315 ];
316 } else if (obj is Instance) { 316 } else if (obj is Instance) {
317 container.children = [ 317 container.children = [
318 new InstanceViewElement( 318 new InstanceViewElement(
319 app.vm, 319 app.vm,
320 obj.isolate, 320 obj.isolate,
321 obj, 321 obj,
322 app.events, 322 app.events,
323 app.notifications, 323 app.notifications,
324 _instanceRepository, 324 _objectRepository,
325 _classRepository, 325 _classRepository,
326 _retainedSizeRepository, 326 _retainedSizeRepository,
327 _reachableSizeRepository, 327 _reachableSizeRepository,
328 _inboundReferencesRepository, 328 _inboundReferencesRepository,
329 _retainingPathRepository, 329 _retainingPathRepository,
330 _scriptRepository, 330 _scriptRepository,
331 _evalRepository, 331 _evalRepository,
332 _typeArgumentsRepository, 332 _typeArgumentsRepository,
333 _breakpointRepository, 333 _breakpointRepository,
334 _functionRepository, 334 _functionRepository,
335 queue: app.queue) 335 queue: app.queue)
336 ]; 336 ];
337 } else if (obj is Isolate) { 337 } else if (obj is Isolate) {
338 container.children = [ 338 container.children = [
339 new IsolateViewElement( 339 new IsolateViewElement(
340 app.vm, 340 app.vm,
341 obj, 341 obj,
342 app.events, 342 app.events,
343 app.notifications, 343 app.notifications,
344 _isolateRepository, 344 _isolateRepository,
345 _scriptRepository, 345 _scriptRepository,
346 _functionRepository, 346 _functionRepository,
347 _libraryRepository, 347 _libraryRepository,
348 _instanceRepository, 348 _objectRepository,
349 _evalRepository, 349 _evalRepository,
350 queue: app.queue) 350 queue: app.queue)
351 ]; 351 ];
352 } else if (obj is ServiceFunction) { 352 } else if (obj is ServiceFunction) {
353 container.children = [ 353 container.children = [
354 new FunctionViewElement( 354 new FunctionViewElement(
355 app.vm, 355 app.vm,
356 obj.isolate, 356 obj.isolate,
357 obj, 357 obj,
358 app.events, 358 app.events,
359 app.notifications, 359 app.notifications,
360 _functionRepository, 360 _functionRepository,
361 _classRepository, 361 _classRepository,
362 _retainedSizeRepository, 362 _retainedSizeRepository,
363 _reachableSizeRepository, 363 _reachableSizeRepository,
364 _inboundReferencesRepository, 364 _inboundReferencesRepository,
365 _retainingPathRepository, 365 _retainingPathRepository,
366 _scriptRepository, 366 _scriptRepository,
367 _instanceRepository, 367 _objectRepository,
368 queue: app.queue) 368 queue: app.queue)
369 ]; 369 ];
370 } else if (obj is ICData) { 370 } else if (obj is ICData) {
371 container.children = [ 371 container.children = [
372 new ICDataViewElement( 372 new ICDataViewElement(
373 app.vm, 373 app.vm,
374 obj.isolate, 374 obj.isolate,
375 obj, 375 obj,
376 app.events, 376 app.events,
377 app.notifications, 377 app.notifications,
378 _icdataRepository, 378 _icdataRepository,
379 _retainedSizeRepository, 379 _retainedSizeRepository,
380 _reachableSizeRepository, 380 _reachableSizeRepository,
381 _inboundReferencesRepository, 381 _inboundReferencesRepository,
382 _retainingPathRepository, 382 _retainingPathRepository,
383 _instanceRepository, 383 _objectRepository,
384 queue: app.queue) 384 queue: app.queue)
385 ]; 385 ];
386 } else if (obj is SingleTargetCache) { 386 } else if (obj is SingleTargetCache) {
387 container.children = [ 387 container.children = [
388 new SingleTargetCacheViewElement( 388 new SingleTargetCacheViewElement(
389 app.vm, 389 app.vm,
390 obj.isolate, 390 obj.isolate,
391 obj, 391 obj,
392 app.events, 392 app.events,
393 app.notifications, 393 app.notifications,
394 _singleTargetCacheRepository, 394 _singleTargetCacheRepository,
395 _retainedSizeRepository, 395 _retainedSizeRepository,
396 _reachableSizeRepository, 396 _reachableSizeRepository,
397 _inboundReferencesRepository, 397 _inboundReferencesRepository,
398 _retainingPathRepository, 398 _retainingPathRepository,
399 _instanceRepository, 399 _objectRepository,
400 queue: app.queue) 400 queue: app.queue)
401 ]; 401 ];
402 } else if (obj is SubtypeTestCache) { 402 } else if (obj is SubtypeTestCache) {
403 container.children = [ 403 container.children = [
404 new SubtypeTestCacheViewElement( 404 new SubtypeTestCacheViewElement(
405 app.vm, 405 app.vm,
406 obj.isolate, 406 obj.isolate,
407 obj, 407 obj,
408 app.events, 408 app.events,
409 app.notifications, 409 app.notifications,
410 _subtypeTestCacheRepository, 410 _subtypeTestCacheRepository,
411 _retainedSizeRepository, 411 _retainedSizeRepository,
412 _reachableSizeRepository, 412 _reachableSizeRepository,
413 _inboundReferencesRepository, 413 _inboundReferencesRepository,
414 _retainingPathRepository, 414 _retainingPathRepository,
415 _instanceRepository, 415 _objectRepository,
416 queue: app.queue) 416 queue: app.queue)
417 ]; 417 ];
418 } else if (obj is UnlinkedCall) { 418 } else if (obj is UnlinkedCall) {
419 container.children = [ 419 container.children = [
420 new UnlinkedCallViewElement( 420 new UnlinkedCallViewElement(
421 app.vm, 421 app.vm,
422 obj.isolate, 422 obj.isolate,
423 obj, 423 obj,
424 app.events, 424 app.events,
425 app.notifications, 425 app.notifications,
426 _unlinkedCallRepository, 426 _unlinkedCallRepository,
427 _retainedSizeRepository, 427 _retainedSizeRepository,
428 _reachableSizeRepository, 428 _reachableSizeRepository,
429 _inboundReferencesRepository, 429 _inboundReferencesRepository,
430 _retainingPathRepository, 430 _retainingPathRepository,
431 _instanceRepository, 431 _objectRepository,
432 queue: app.queue) 432 queue: app.queue)
433 ]; 433 ];
434 } else if (obj is Library) { 434 } else if (obj is Library) {
435 container.children = [ 435 container.children = [
436 new LibraryViewElement( 436 new LibraryViewElement(
437 app.vm, 437 app.vm,
438 obj.isolate, 438 obj.isolate,
439 obj, 439 obj,
440 app.events, 440 app.events,
441 app.notifications, 441 app.notifications,
442 _libraryRepository, 442 _libraryRepository,
443 _fieldRepository, 443 _fieldRepository,
444 _retainedSizeRepository, 444 _retainedSizeRepository,
445 _reachableSizeRepository, 445 _reachableSizeRepository,
446 _inboundReferencesRepository, 446 _inboundReferencesRepository,
447 _retainingPathRepository, 447 _retainingPathRepository,
448 _scriptRepository, 448 _scriptRepository,
449 _instanceRepository, 449 _objectRepository,
450 _evalRepository, 450 _evalRepository,
451 queue: app.queue) 451 queue: app.queue)
452 ]; 452 ];
453 } else if (obj is MegamorphicCache) { 453 } else if (obj is MegamorphicCache) {
454 container.children = [ 454 container.children = [
455 new MegamorphicCacheViewElement( 455 new MegamorphicCacheViewElement(
456 app.vm, 456 app.vm,
457 obj.isolate, 457 obj.isolate,
458 obj, 458 obj,
459 app.events, 459 app.events,
460 app.notifications, 460 app.notifications,
461 _megamorphicCacheRepository, 461 _megamorphicCacheRepository,
462 _retainedSizeRepository, 462 _retainedSizeRepository,
463 _reachableSizeRepository, 463 _reachableSizeRepository,
464 _inboundReferencesRepository, 464 _inboundReferencesRepository,
465 _retainingPathRepository, 465 _retainingPathRepository,
466 _instanceRepository, 466 _objectRepository,
467 queue: app.queue) 467 queue: app.queue)
468 ]; 468 ];
469 } else if (obj is ObjectPool) { 469 } else if (obj is ObjectPool) {
470 container.children = [ 470 container.children = [
471 new ObjectPoolViewElement( 471 new ObjectPoolViewElement(
472 app.vm, 472 app.vm,
473 obj.isolate, 473 obj.isolate,
474 obj, 474 obj,
475 app.events, 475 app.events,
476 app.notifications, 476 app.notifications,
477 _objectPoolRepository, 477 _objectPoolRepository,
478 _retainedSizeRepository, 478 _retainedSizeRepository,
479 _reachableSizeRepository, 479 _reachableSizeRepository,
480 _inboundReferencesRepository, 480 _inboundReferencesRepository,
481 _retainingPathRepository, 481 _retainingPathRepository,
482 _instanceRepository, 482 _objectRepository,
483 queue: app.queue) 483 queue: app.queue)
484 ]; 484 ];
485 } else if (obj is Script) { 485 } else if (obj is Script) {
486 var pos; 486 var pos;
487 if (app.locationManager.internalArguments['pos'] != null) { 487 if (app.locationManager.internalArguments['pos'] != null) {
488 try { 488 try {
489 pos = int.parse(app.locationManager.internalArguments['pos']); 489 pos = int.parse(app.locationManager.internalArguments['pos']);
490 } catch (_) {} 490 } catch (_) {}
491 } 491 }
492 container.children = [ 492 container.children = [
493 new ScriptViewElement( 493 new ScriptViewElement(
494 app.vm, 494 app.vm,
495 obj.isolate, 495 obj.isolate,
496 obj, 496 obj,
497 app.events, 497 app.events,
498 app.notifications, 498 app.notifications,
499 _scriptRepository, 499 _scriptRepository,
500 _retainedSizeRepository, 500 _retainedSizeRepository,
501 _reachableSizeRepository, 501 _reachableSizeRepository,
502 _inboundReferencesRepository, 502 _inboundReferencesRepository,
503 _retainingPathRepository, 503 _retainingPathRepository,
504 _instanceRepository, 504 _objectRepository,
505 pos: pos, 505 pos: pos,
506 queue: app.queue) 506 queue: app.queue)
507 ]; 507 ];
508 } else if (obj is HeapObject) { 508 } else if (obj is HeapObject) {
509 container.children = [ 509 container.children = [
510 new ObjectViewElement( 510 new ObjectViewElement(
511 app.vm, 511 app.vm,
512 obj.isolate, 512 obj.isolate,
513 obj, 513 obj,
514 app.events, 514 app.events,
515 app.notifications, 515 app.notifications,
516 _objectRepository, 516 _objectRepository,
517 _retainedSizeRepository, 517 _retainedSizeRepository,
518 _reachableSizeRepository, 518 _reachableSizeRepository,
519 _inboundReferencesRepository, 519 _inboundReferencesRepository,
520 _retainingPathRepository, 520 _retainingPathRepository,
521 _instanceRepository, 521 _objectRepository,
522 queue: app.queue) 522 queue: app.queue)
523 ]; 523 ];
524 } else if (obj is Sentinel) { 524 } else if (obj is Sentinel) {
525 container.children = [ 525 container.children = [
526 new SentinelViewElement( 526 new SentinelViewElement(
527 app.vm, obj.isolate, obj, app.events, app.notifications, 527 app.vm, obj.isolate, obj, app.events, app.notifications,
528 queue: app.queue) 528 queue: app.queue)
529 ]; 529 ];
530 } else { 530 } else {
531 container.children = [ 531 container.children = [
(...skipping 28 matching lines...) Expand all
560 class DebuggerPage extends MatchingPage { 560 class DebuggerPage extends MatchingPage {
561 DebuggerPage(app) : super('debugger', app); 561 DebuggerPage(app) : super('debugger', app);
562 562
563 final DivElement container = new DivElement(); 563 final DivElement container = new DivElement();
564 564
565 void _visit(Uri uri) { 565 void _visit(Uri uri) {
566 super._visit(uri); 566 super._visit(uri);
567 getIsolate(uri).then((isolate) async { 567 getIsolate(uri).then((isolate) async {
568 container.children = [ 568 container.children = [
569 new DebuggerPageElement( 569 new DebuggerPageElement(
570 isolate, _instanceRepository, _scriptRepository, app.events) 570 isolate, _objectRepository, _scriptRepository, app.events)
571 ]; 571 ];
572 }); 572 });
573 } 573 }
574 574
575 void onInstall() { 575 void onInstall() {
576 if (element == null) { 576 if (element == null) {
577 element = container; 577 element = container;
578 } 578 }
579 assert(element != null); 579 assert(element != null);
580 } 580 }
581 581
582 @override 582 @override
583 void onUninstall() { 583 void onUninstall() {
584 super.onUninstall(); 584 super.onUninstall();
585 container.children = const []; 585 container.children = const [];
586 } 586 }
587 } 587 }
588 588
589 class ObjectStorePage extends MatchingPage { 589 class ObjectStorePage extends MatchingPage {
590 ObjectStorePage(app) : super('object-store', app); 590 ObjectStorePage(app) : super('object-store', app);
591 591
592 final DivElement container = new DivElement(); 592 final DivElement container = new DivElement();
593 593
594 void _visit(Uri uri) { 594 void _visit(Uri uri) {
595 super._visit(uri); 595 super._visit(uri);
596 getIsolate(uri).then((isolate) async { 596 getIsolate(uri).then((isolate) async {
597 container.children = [ 597 container.children = [
598 new ObjectStoreViewElement(isolate.vm, isolate, app.events, 598 new ObjectStoreViewElement(isolate.vm, isolate, app.events,
599 app.notifications, _objectstoreRepository, _instanceRepository) 599 app.notifications, _objectstoreRepository, _objectRepository)
600 ]; 600 ];
601 }); 601 });
602 } 602 }
603 603
604 void onInstall() { 604 void onInstall() {
605 if (element == null) { 605 if (element == null) {
606 element = container; 606 element = container;
607 } 607 }
608 assert(element != null); 608 assert(element != null);
609 } 609 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 class PortsPage extends MatchingPage { 689 class PortsPage extends MatchingPage {
690 PortsPage(app) : super('ports', app); 690 PortsPage(app) : super('ports', app);
691 691
692 final DivElement container = new DivElement(); 692 final DivElement container = new DivElement();
693 693
694 void _visit(Uri uri) { 694 void _visit(Uri uri) {
695 super._visit(uri); 695 super._visit(uri);
696 getIsolate(uri).then((isolate) { 696 getIsolate(uri).then((isolate) {
697 container.children = [ 697 container.children = [
698 new PortsElement(isolate.vm, isolate, app.events, app.notifications, 698 new PortsElement(isolate.vm, isolate, app.events, app.notifications,
699 _portsRepository, _instanceRepository, 699 _portsRepository, _objectRepository,
700 queue: app.queue) 700 queue: app.queue)
701 ]; 701 ];
702 }); 702 });
703 } 703 }
704 704
705 void onInstall() { 705 void onInstall() {
706 if (element == null) { 706 if (element == null) {
707 element = container; 707 element = container;
708 } 708 }
709 } 709 }
710 } 710 }
711 711
712 class PersistentHandlesPage extends MatchingPage { 712 class PersistentHandlesPage extends MatchingPage {
713 PersistentHandlesPage(app) : super('persistent-handles', app); 713 PersistentHandlesPage(app) : super('persistent-handles', app);
714 714
715 final DivElement container = new DivElement(); 715 final DivElement container = new DivElement();
716 716
717 void _visit(Uri uri) { 717 void _visit(Uri uri) {
718 super._visit(uri); 718 super._visit(uri);
719 getIsolate(uri).then((isolate) { 719 getIsolate(uri).then((isolate) {
720 container.children = [ 720 container.children = [
721 new PersistentHandlesPageElement( 721 new PersistentHandlesPageElement(isolate.vm, isolate, app.events,
722 isolate.vm, 722 app.notifications, _persistentHandlesRepository, _objectRepository,
723 isolate,
724 app.events,
725 app.notifications,
726 _persistentHandlesRepository,
727 _instanceRepository,
728 queue: app.queue) 723 queue: app.queue)
729 ]; 724 ];
730 }); 725 });
731 } 726 }
732 727
733 void onInstall() { 728 void onInstall() {
734 if (element == null) { 729 if (element == null) {
735 element = container; 730 element = container;
736 } 731 }
737 } 732 }
(...skipping 24 matching lines...) Expand all
762 class HeapSnapshotPage extends MatchingPage { 757 class HeapSnapshotPage extends MatchingPage {
763 HeapSnapshotPage(app) : super('heap-snapshot', app); 758 HeapSnapshotPage(app) : super('heap-snapshot', app);
764 759
765 final DivElement container = new DivElement(); 760 final DivElement container = new DivElement();
766 761
767 void _visit(Uri uri) { 762 void _visit(Uri uri) {
768 super._visit(uri); 763 super._visit(uri);
769 getIsolate(uri).then((isolate) { 764 getIsolate(uri).then((isolate) {
770 container.children = [ 765 container.children = [
771 new HeapSnapshotElement(isolate.vm, isolate, app.events, 766 new HeapSnapshotElement(isolate.vm, isolate, app.events,
772 app.notifications, _heapSnapshotRepository, _instanceRepository, 767 app.notifications, _heapSnapshotRepository, _objectRepository,
773 queue: app.queue) 768 queue: app.queue)
774 ]; 769 ];
775 }); 770 });
776 } 771 }
777 772
778 void onInstall() { 773 void onInstall() {
779 if (element == null) { 774 if (element == null) {
780 element = container; 775 element = container;
781 } 776 }
782 } 777 }
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 element = new TimelinePageElement(app.vm, app.events, app.notifications, 916 element = new TimelinePageElement(app.vm, app.events, app.notifications,
922 queue: app.queue); 917 queue: app.queue);
923 } 918 }
924 919
925 void _visit(Uri uri) { 920 void _visit(Uri uri) {
926 assert(canVisit(uri)); 921 assert(canVisit(uri));
927 } 922 }
928 923
929 bool canVisit(Uri uri) => uri.path == 'timeline'; 924 bool canVisit(Uri uri) => uri.path == 'timeline';
930 } 925 }
OLDNEW
« no previous file with comments | « no previous file | runtime/observatory/lib/src/debugger/debugger.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698