Index: runtime/observatory/lib/src/elements/object_common.dart |
diff --git a/runtime/observatory/lib/src/elements/object_common.dart b/runtime/observatory/lib/src/elements/object_common.dart |
index a52dc7ba01601b4ef9485c318f53ed3907e3d91d..0db760d67fcd650f31307e8c188f456a956b8738 100644 |
--- a/runtime/observatory/lib/src/elements/object_common.dart |
+++ b/runtime/observatory/lib/src/elements/object_common.dart |
@@ -14,13 +14,13 @@ import 'package:observatory/src/elements/sentinel_value.dart'; |
import 'package:observatory/utils.dart'; |
class ObjectCommonElement extends HtmlElement implements Renderable { |
- static const tag = const Tag<ObjectCommonElement>('object-common', |
- dependencies: const [ |
- ClassRefElement.tag, |
- InboundReferencesElement.tag, |
- RetainingPathElement.tag, |
- SentinelValueElement.tag |
- ]); |
+ static const tag = |
+ const Tag<ObjectCommonElement>('object-common', dependencies: const [ |
+ ClassRefElement.tag, |
+ InboundReferencesElement.tag, |
+ RetainingPathElement.tag, |
+ SentinelValueElement.tag |
+ ]); |
RenderingScheduler<ObjectCommonElement> _r; |
@@ -41,13 +41,15 @@ class ObjectCommonElement extends HtmlElement implements Renderable { |
M.IsolateRef get isolate => _isolate; |
M.Object get object => _object; |
- factory ObjectCommonElement(M.IsolateRef isolate, M.Object object, |
- M.RetainedSizeRepository retainedSizes, |
- M.ReachableSizeRepository reachableSizes, |
- M.InboundReferencesRepository references, |
- M.RetainingPathRepository retainingPaths, |
- M.InstanceRepository instances, |
- {RenderingQueue queue}) { |
+ factory ObjectCommonElement( |
+ M.IsolateRef isolate, |
+ M.Object object, |
+ M.RetainedSizeRepository retainedSizes, |
+ M.ReachableSizeRepository reachableSizes, |
+ M.InboundReferencesRepository references, |
+ M.RetainingPathRepository retainingPaths, |
+ M.InstanceRepository instances, |
+ {RenderingQueue queue}) { |
assert(isolate != null); |
assert(object != null); |
assert(retainedSizes != null); |
@@ -86,67 +88,85 @@ class ObjectCommonElement extends HtmlElement implements Renderable { |
InboundReferencesElement _inbounds; |
void render() { |
- _path = _path ?? new RetainingPathElement(_isolate, _object, |
- _retainingPaths, _instances, |
- queue: _r.queue); |
- _inbounds = _inbounds ?? new InboundReferencesElement(_isolate, _object, |
- _references, |
- _instances, |
- queue: _r.queue); |
+ _path = _path ?? |
+ new RetainingPathElement(_isolate, _object, _retainingPaths, _instances, |
+ queue: _r.queue); |
+ _inbounds = _inbounds ?? |
+ new InboundReferencesElement(_isolate, _object, _references, _instances, |
+ queue: _r.queue); |
children = [ |
- new DivElement()..classes = ['memberList'] |
+ new DivElement() |
+ ..classes = ['memberList'] |
..children = [ |
- new DivElement()..classes = ['memberItem'] |
+ new DivElement() |
+ ..classes = ['memberItem'] |
..children = [ |
- new DivElement()..classes = ['memberName'] |
+ new DivElement() |
+ ..classes = ['memberName'] |
..text = 'Class ', |
- new DivElement()..classes = ['memberValue'] |
+ new DivElement() |
+ ..classes = ['memberValue'] |
..children = [ |
_object.clazz == null |
- ? (new SpanElement()..text = '...') |
- : new ClassRefElement(_isolate, _object.clazz, |
- queue: _r.queue) |
+ ? (new SpanElement()..text = '...') |
+ : new ClassRefElement(_isolate, _object.clazz, |
+ queue: _r.queue) |
] |
], |
- new DivElement()..classes = ['memberItem'] |
+ new DivElement() |
+ ..classes = ['memberItem'] |
..title = 'Space for this object in memory' |
..children = [ |
- new DivElement()..classes = ['memberName'] |
+ new DivElement() |
+ ..classes = ['memberName'] |
..text = 'Shallow size ', |
- new DivElement()..classes = ['memberValue'] |
+ new DivElement() |
+ ..classes = ['memberValue'] |
..text = Utils.formatSize(_object.size ?? 0) |
], |
- new DivElement()..classes = ['memberItem'] |
+ new DivElement() |
+ ..classes = ['memberItem'] |
..title = 'Space reachable from this object, ' |
- 'excluding class references' |
+ 'excluding class references' |
..children = [ |
- new DivElement()..classes = ['memberName'] |
+ new DivElement() |
+ ..classes = ['memberName'] |
..text = 'Reachable size ', |
- new DivElement()..classes = ['memberValue'] |
+ new DivElement() |
+ ..classes = ['memberValue'] |
..children = _createReachableSizeValue() |
], |
- new DivElement()..classes = ['memberItem'] |
+ new DivElement() |
+ ..classes = ['memberItem'] |
..title = 'Space that would be reclaimed if references to this ' |
- 'object were replaced with null' |
+ 'object were replaced with null' |
..children = [ |
- new DivElement()..classes = ['memberName'] |
+ new DivElement() |
+ ..classes = ['memberName'] |
..text = 'Retained size ', |
- new DivElement()..classes = ['memberValue'] |
+ new DivElement() |
+ ..classes = ['memberValue'] |
..children = _createRetainedSizeValue() |
], |
- new DivElement()..classes = ['memberItem'] |
+ new DivElement() |
+ ..classes = ['memberItem'] |
..children = [ |
- new DivElement()..classes = ['memberName'] |
+ new DivElement() |
+ ..classes = ['memberName'] |
..text = 'Retaining path ', |
- new DivElement()..classes = ['memberValue'] |
+ new DivElement() |
+ ..classes = ['memberValue'] |
..children = [_path] |
], |
- new DivElement()..classes = ['memberItem'] |
+ new DivElement() |
+ ..classes = ['memberItem'] |
..title = 'Objects which directly reference this object' |
..children = [ |
- new DivElement()..classes = ['memberName'] |
+ new DivElement() |
+ ..classes = ['memberName'] |
..text = 'Inbound references ', |
- new DivElement()..classes = ['memberValue'] |
+ new DivElement() |
+ ..classes = ['memberValue'] |
..children = [_inbounds] |
] |
] |
@@ -157,29 +177,26 @@ class ObjectCommonElement extends HtmlElement implements Renderable { |
final content = <Element>[]; |
if (_reachableSize != null) { |
if (_reachableSize.isSentinel) { |
- content.add( |
- new SentinelValueElement(_reachableSize.asSentinel, queue: _r.queue) |
- ); |
+ content.add(new SentinelValueElement(_reachableSize.asSentinel, |
+ queue: _r.queue)); |
} else { |
- content.add( |
- new SpanElement()..text = Utils.formatSize(int.parse( |
- _reachableSize.asValue.valueAsString)) |
- ); |
+ content.add(new SpanElement() |
+ ..text = Utils |
+ .formatSize(int.parse(_reachableSize.asValue.valueAsString))); |
} |
} else { |
- content.add( |
- new SpanElement()..text = '...' |
- ); |
+ content.add(new SpanElement()..text = '...'); |
} |
- final button = new ButtonElement()..classes = ['reachable_size'] |
+ final button = new ButtonElement() |
+ ..classes = ['reachable_size'] |
..disabled = _loadingReachableBytes |
..text = '↺'; |
button.onClick.listen((_) async { |
- button.disabled = true; |
- _loadingReachableBytes = true; |
- _reachableSize = await _reachableSizes.get(_isolate, _object.id); |
- _r.dirty(); |
- }); |
+ button.disabled = true; |
+ _loadingReachableBytes = true; |
+ _reachableSize = await _reachableSizes.get(_isolate, _object.id); |
+ _r.dirty(); |
+ }); |
content.add(button); |
return content; |
} |
@@ -188,29 +205,26 @@ class ObjectCommonElement extends HtmlElement implements Renderable { |
final content = <Element>[]; |
if (_retainedSize != null) { |
if (_retainedSize.isSentinel) { |
- content.add( |
- new SentinelValueElement(_retainedSize.asSentinel, queue: _r.queue) |
- ); |
+ content.add(new SentinelValueElement(_retainedSize.asSentinel, |
+ queue: _r.queue)); |
} else { |
- content.add( |
- new SpanElement()..text = Utils.formatSize(int.parse( |
- _retainedSize.asValue.valueAsString)) |
- ); |
+ content.add(new SpanElement() |
+ ..text = |
+ Utils.formatSize(int.parse(_retainedSize.asValue.valueAsString))); |
} |
} else { |
- content.add( |
- new SpanElement()..text = '...' |
- ); |
+ content.add(new SpanElement()..text = '...'); |
} |
- final button = new ButtonElement()..classes = ['retained_size'] |
+ final button = new ButtonElement() |
+ ..classes = ['retained_size'] |
..disabled = _loadingRetainedBytes |
..text = '↺'; |
button.onClick.listen((_) async { |
- button.disabled = true; |
- _loadingRetainedBytes = true; |
- _retainedSize = await _retainedSizes.get(_isolate, _object.id); |
- _r.dirty(); |
- }); |
+ button.disabled = true; |
+ _loadingRetainedBytes = true; |
+ _retainedSize = await _retainedSizes.get(_isolate, _object.id); |
+ _r.dirty(); |
+ }); |
content.add(button); |
return content; |
} |