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

Unified Diff: runtime/observatory/lib/src/elements/instance_ref.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 side-by-side diff with in-line comments
Download patch
Index: runtime/observatory/lib/src/elements/instance_ref.dart
diff --git a/runtime/observatory/lib/src/elements/instance_ref.dart b/runtime/observatory/lib/src/elements/instance_ref.dart
index 1e1df2dd1c85dd047f6af0938dc3be5a262ffd1e..7bbf3aebbb0c0d6094fd499f2398ce43fcef7b9b 100644
--- a/runtime/observatory/lib/src/elements/instance_ref.dart
+++ b/runtime/observatory/lib/src/elements/instance_ref.dart
@@ -14,7 +14,8 @@ import 'package:observatory/src/elements/helpers/uris.dart';
import 'package:observatory/utils.dart';
class InstanceRefElement extends HtmlElement implements Renderable {
- static const tag = const Tag<InstanceRefElement>('instance-ref');
+ static const tag = const Tag<InstanceRefElement>('instance-ref',
+ dependencies: const [CurlyBlockElement.tag]);
RenderingScheduler<InstanceRefElement> _r;
@@ -22,24 +23,24 @@ class InstanceRefElement extends HtmlElement implements Renderable {
M.IsolateRef _isolate;
M.InstanceRef _instance;
- M.InstanceRepository _instances;
+ M.ObjectRepository _objects;
M.Instance _loadedInstance;
bool _expanded = false;
M.IsolateRef get isolate => _isolate;
M.InstanceRef get instance => _instance;
- factory InstanceRefElement(M.IsolateRef isolate, M.InstanceRef instance,
- M.InstanceRepository instances,
+ factory InstanceRefElement(
+ M.IsolateRef isolate, M.InstanceRef instance, M.ObjectRepository objects,
{RenderingQueue queue}) {
assert(isolate != null);
assert(instance != null);
- assert(instances != null);
+ assert(objects != null);
InstanceRefElement e = document.createElement(tag.name);
e._r = new RenderingScheduler(e, queue: queue);
e._isolate = isolate;
e._instance = instance;
- e._instances = instances;
+ e._objects = objects;
return e;
}
@@ -85,7 +86,7 @@ class InstanceRefElement extends HtmlElement implements Renderable {
}
Future _refresh() async {
- _loadedInstance = await _instances.get(_isolate, _instance.id);
+ _loadedInstance = await _objects.get(_isolate, _instance.id);
_r.dirty();
}
@@ -98,7 +99,7 @@ class InstanceRefElement extends HtmlElement implements Renderable {
button.onClick.listen((_) async {
button.disabled = true;
_loadedInstance =
- await _instances.get(_isolate, _instance.id, count: count * 2);
+ await _objects.get(_isolate, _instance.id, count: count * 2);
_r.dirty();
});
return [button];
@@ -209,6 +210,7 @@ class InstanceRefElement extends HtmlElement implements Renderable {
bool _hasValue() {
switch (_instance.kind) {
+ case M.InstanceKind.closure:
case M.InstanceKind.plainInstance:
case M.InstanceKind.mirrorReference:
case M.InstanceKind.stackTrace:
@@ -241,14 +243,29 @@ class InstanceRefElement extends HtmlElement implements Renderable {
return [new SpanElement()..text = 'Loading...'];
}
switch (_instance.kind) {
+ case M.InstanceKind.closure:
+ return [
+ new DivElement()
+ ..children = [
+ new SpanElement()..text = 'function = ',
+ anyRef(_isolate, _loadedInstance.closureFunction, _objects,
+ queue: _r.queue)
+ ],
+ new DivElement()
+ ..children = [
+ new SpanElement()..text = 'context = ',
+ anyRef(_isolate, _loadedInstance.closureContext, _objects,
+ queue: _r.queue)
+ ],
+ ];
case M.InstanceKind.plainInstance:
return _loadedInstance.fields
.map((f) => new DivElement()
..children = [
- new FieldRefElement(_isolate, f.decl, _instances,
+ new FieldRefElement(_isolate, f.decl, _objects,
queue: _r.queue),
new SpanElement()..text = ' = ',
- anyRef(_isolate, f.value, _instances, queue: _r.queue)
+ anyRef(_isolate, f.value, _objects, queue: _r.queue)
])
.toList();
case M.InstanceKind.list:
@@ -257,7 +274,7 @@ class InstanceRefElement extends HtmlElement implements Renderable {
.map((element) => new DivElement()
..children = [
new SpanElement()..text = '[ ${index++} ] : ',
- anyRef(_isolate, element, _instances, queue: _r.queue)
+ anyRef(_isolate, element, _objects, queue: _r.queue)
])
.toList()
..addAll(_createShowMoreButton());
@@ -266,9 +283,9 @@ class InstanceRefElement extends HtmlElement implements Renderable {
.map((association) => new DivElement()
..children = [
new SpanElement()..text = '[ ',
- anyRef(_isolate, association.key, _instances, queue: _r.queue),
+ anyRef(_isolate, association.key, _objects, queue: _r.queue),
new SpanElement()..text = ' ] : ',
- anyRef(_isolate, association.value, _instances, queue: _r.queue)
+ anyRef(_isolate, association.value, _objects, queue: _r.queue)
])
.toList()
..addAll(_createShowMoreButton());
@@ -294,8 +311,7 @@ class InstanceRefElement extends HtmlElement implements Renderable {
case M.InstanceKind.mirrorReference:
return [
new SpanElement()..text = '<referent> : ',
- new InstanceRefElement(_isolate, _loadedInstance.referent, _instances,
- queue: _r.queue)
+ anyRef(_isolate, _loadedInstance.referent, _objects, queue: _r.queue)
];
case M.InstanceKind.stackTrace:
return [
@@ -306,11 +322,11 @@ class InstanceRefElement extends HtmlElement implements Renderable {
case M.InstanceKind.weakProperty:
return [
new SpanElement()..text = '<key> : ',
- new InstanceRefElement(_isolate, _loadedInstance.key, _instances,
+ new InstanceRefElement(_isolate, _loadedInstance.key, _objects,
queue: _r.queue),
new BRElement(),
new SpanElement()..text = '<value> : ',
- new InstanceRefElement(_isolate, _loadedInstance.value, _instances,
+ new InstanceRefElement(_isolate, _loadedInstance.value, _objects,
queue: _r.queue),
];
default:
« no previous file with comments | « runtime/observatory/lib/src/elements/inbound_references.dart ('k') | runtime/observatory/lib/src/elements/instance_view.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698