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

Side by Side Diff: runtime/observatory/lib/src/elements/heap_snapshot.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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 5 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
6 // for details. All rights reserved. Use of this source code is governed by a 6 // for details. All rights reserved. Use of this source code is governed by a
7 // BSD-style license that can be found in the LICENSE file. 7 // BSD-style license that can be found in the LICENSE file.
8 8
9 import 'dart:async'; 9 import 'dart:async';
10 import 'dart:html'; 10 import 'dart:html';
(...skipping 30 matching lines...) Expand all
41 41
42 RenderingScheduler<HeapSnapshotElement> _r; 42 RenderingScheduler<HeapSnapshotElement> _r;
43 43
44 Stream<RenderedEvent<HeapSnapshotElement>> get onRendered => _r.onRendered; 44 Stream<RenderedEvent<HeapSnapshotElement>> get onRendered => _r.onRendered;
45 45
46 M.VM _vm; 46 M.VM _vm;
47 M.IsolateRef _isolate; 47 M.IsolateRef _isolate;
48 M.EventRepository _events; 48 M.EventRepository _events;
49 M.NotificationRepository _notifications; 49 M.NotificationRepository _notifications;
50 M.HeapSnapshotRepository _snapshots; 50 M.HeapSnapshotRepository _snapshots;
51 M.InstanceRepository _instances; 51 M.ObjectRepository _objects;
52 M.HeapSnapshot _snapshot; 52 M.HeapSnapshot _snapshot;
53 Stream<M.HeapSnapshotLoadingProgressEvent> _progressStream; 53 Stream<M.HeapSnapshotLoadingProgressEvent> _progressStream;
54 M.HeapSnapshotLoadingProgress _progress; 54 M.HeapSnapshotLoadingProgress _progress;
55 M.HeapSnapshotRoots _roots = M.HeapSnapshotRoots.user; 55 M.HeapSnapshotRoots _roots = M.HeapSnapshotRoots.user;
56 HeapSnapshotTreeMode _mode = HeapSnapshotTreeMode.dominatorTree; 56 HeapSnapshotTreeMode _mode = HeapSnapshotTreeMode.dominatorTree;
57 57
58 M.IsolateRef get isolate => _isolate; 58 M.IsolateRef get isolate => _isolate;
59 M.NotificationRepository get notifications => _notifications; 59 M.NotificationRepository get notifications => _notifications;
60 M.HeapSnapshotRepository get profiles => _snapshots; 60 M.HeapSnapshotRepository get profiles => _snapshots;
61 M.VMRef get vm => _vm; 61 M.VMRef get vm => _vm;
62 62
63 factory HeapSnapshotElement( 63 factory HeapSnapshotElement(
64 M.VM vm, 64 M.VM vm,
65 M.IsolateRef isolate, 65 M.IsolateRef isolate,
66 M.EventRepository events, 66 M.EventRepository events,
67 M.NotificationRepository notifications, 67 M.NotificationRepository notifications,
68 M.HeapSnapshotRepository snapshots, 68 M.HeapSnapshotRepository snapshots,
69 M.InstanceRepository instances, 69 M.ObjectRepository objects,
70 {RenderingQueue queue}) { 70 {RenderingQueue queue}) {
71 assert(vm != null); 71 assert(vm != null);
72 assert(isolate != null); 72 assert(isolate != null);
73 assert(events != null); 73 assert(events != null);
74 assert(notifications != null); 74 assert(notifications != null);
75 assert(snapshots != null); 75 assert(snapshots != null);
76 assert(instances != null); 76 assert(objects != null);
77 HeapSnapshotElement e = document.createElement(tag.name); 77 HeapSnapshotElement e = document.createElement(tag.name);
78 e._r = new RenderingScheduler(e, queue: queue); 78 e._r = new RenderingScheduler(e, queue: queue);
79 e._vm = vm; 79 e._vm = vm;
80 e._isolate = isolate; 80 e._isolate = isolate;
81 e._events = events; 81 e._events = events;
82 e._notifications = notifications; 82 e._notifications = notifications;
83 e._snapshots = snapshots; 83 e._snapshots = snapshots;
84 e._instances = instances; 84 e._objects = objects;
85 return e; 85 return e;
86 } 86 }
87 87
88 HeapSnapshotElement.created() : super.created(); 88 HeapSnapshotElement.created() : super.created();
89 89
90 @override 90 @override
91 attached() { 91 attached() {
92 super.attached(); 92 super.attached();
93 _r.enable(); 93 _r.enable();
94 _refresh(); 94 _refresh();
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 if (node.isStack) { 411 if (node.isStack) {
412 wrapper 412 wrapper
413 ..text = '' 413 ..text = ''
414 ..children = [ 414 ..children = [
415 new AnchorElement(href: Uris.debugger(isolate))..text = 'stack frames' 415 new AnchorElement(href: Uris.debugger(isolate))..text = 'stack frames'
416 ]; 416 ];
417 } else { 417 } else {
418 node.object.then((object) { 418 node.object.then((object) {
419 wrapper 419 wrapper
420 ..text = '' 420 ..text = ''
421 ..children = [anyRef(_isolate, object, _instances, queue: _r.queue)]; 421 ..children = [anyRef(_isolate, object, _objects, queue: _r.queue)];
422 }); 422 });
423 } 423 }
424 } 424 }
425 425
426 void _updateMergedDominator( 426 void _updateMergedDominator(
427 HtmlElement element, M.HeapSnapshotMergedDominatorNode node, int depth) { 427 HtmlElement element, M.HeapSnapshotMergedDominatorNode node, int depth) {
428 element.children[0].text = Utils.formatSize(node.retainedSize); 428 element.children[0].text = Utils.formatSize(node.retainedSize);
429 _updateLines(element.children[1].children, depth); 429 _updateLines(element.children[1].children, depth);
430 if (_getChildrenMergedDominator(node).isNotEmpty) { 430 if (_getChildrenMergedDominator(node).isNotEmpty) {
431 element.children[2].text = _tree.isExpanded(node) ? '▼' : '►'; 431 element.children[2].text = _tree.isExpanded(node) ? '▼' : '►';
(...skipping 11 matching lines...) Expand all
443 ..text = '' 443 ..text = ''
444 ..children = [ 444 ..children = [
445 new AnchorElement(href: Uris.debugger(isolate))..text = 'stack frames' 445 new AnchorElement(href: Uris.debugger(isolate))..text = 'stack frames'
446 ]; 446 ];
447 } else { 447 } else {
448 node.klass.then((klass) { 448 node.klass.then((klass) {
449 wrapper 449 wrapper
450 ..text = '' 450 ..text = ''
451 ..children = [ 451 ..children = [
452 new SpanElement()..text = '${node.instanceCount} instances of ', 452 new SpanElement()..text = '${node.instanceCount} instances of ',
453 anyRef(_isolate, klass, _instances, queue: _r.queue) 453 anyRef(_isolate, klass, _objects, queue: _r.queue)
454 ]; 454 ];
455 }); 455 });
456 } 456 }
457 } 457 }
458 458
459 void _updateGroup(HtmlElement element, item, int depth) { 459 void _updateGroup(HtmlElement element, item, int depth) {
460 _updateLines(element.children[1].children, depth); 460 _updateLines(element.children[1].children, depth);
461 if (item is M.HeapSnapshotClassReferences) { 461 if (item is M.HeapSnapshotClassReferences) {
462 element.children[0].text = Utils.formatSize(item.shallowSize); 462 element.children[0].text = Utils.formatSize(item.shallowSize);
463 element.children[2].text = _tree.isExpanded(item) ? '▼' : '►'; 463 element.children[2].text = _tree.isExpanded(item) ? '▼' : '►';
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 value: modeToString(mode), selected: _mode == mode) 567 value: modeToString(mode), selected: _mode == mode)
568 ..text = modeToString(mode); 568 ..text = modeToString(mode);
569 }).toList(growable: false) 569 }).toList(growable: false)
570 ..onChange.listen((_) { 570 ..onChange.listen((_) {
571 _mode = HeapSnapshotTreeMode.values[s.selectedIndex]; 571 _mode = HeapSnapshotTreeMode.values[s.selectedIndex];
572 _r.dirty(); 572 _r.dirty();
573 }) 573 })
574 ]; 574 ];
575 } 575 }
576 } 576 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/function_view.dart ('k') | runtime/observatory/lib/src/elements/helpers/any_ref.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698