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

Side by Side Diff: runtime/observatory/lib/src/elements/instance_ref.dart

Issue 2310003004: Removed polymer & mirror from Observatory (Closed)
Patch Set: Fixed crash in heap-map page Created 4 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 (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import 'dart:html'; 5 import 'dart:html';
6 import 'dart:async'; 6 import 'dart:async';
7 import 'package:observatory/models.dart' as M; 7 import 'package:observatory/models.dart' as M;
8 import 'package:observatory/src/elements/curly_block.dart'; 8 import 'package:observatory/src/elements/curly_block.dart';
9 import 'package:observatory/src/elements/field_ref.dart'; 9 import 'package:observatory/src/elements/field_ref.dart';
10 import 'package:observatory/src/elements/helpers/any_ref.dart'; 10 import 'package:observatory/src/elements/helpers/any_ref.dart';
11 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; 11 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
12 import 'package:observatory/src/elements/helpers/tag.dart'; 12 import 'package:observatory/src/elements/helpers/tag.dart';
13 import 'package:observatory/src/elements/helpers/uris.dart'; 13 import 'package:observatory/src/elements/helpers/uris.dart';
14 import 'package:observatory/src/elements/sentinel_value.dart'; 14 import 'package:observatory/src/elements/sentinel_value.dart';
15 import 'package:observatory/utils.dart'; 15 import 'package:observatory/utils.dart';
16 16
17 class InstanceRefElement extends HtmlElement implements Renderable { 17 class InstanceRefElement extends HtmlElement implements Renderable {
18 static const tag = const Tag<InstanceRefElement>('instance-ref-wrapped'); 18 static const tag = const Tag<InstanceRefElement>('instance-ref');
19 19
20 RenderingScheduler<InstanceRefElement> _r; 20 RenderingScheduler<InstanceRefElement> _r;
21 21
22 Stream<RenderedEvent<InstanceRefElement>> get onRendered => _r.onRendered; 22 Stream<RenderedEvent<InstanceRefElement>> get onRendered => _r.onRendered;
23 23
24 M.IsolateRef _isolate; 24 M.IsolateRef _isolate;
25 M.InstanceRef _instance; 25 M.InstanceRef _instance;
26 M.InstanceRepository _instances; 26 M.InstanceRepository _instances;
27 M.Instance _loadedInstance; 27 M.Instance _loadedInstance;
28 bool _expanded = false; 28 bool _expanded = false;
(...skipping 29 matching lines...) Expand all
58 _r.disable(notify: true); 58 _r.disable(notify: true);
59 } 59 }
60 60
61 void render() { 61 void render() {
62 final content = _createLink(); 62 final content = _createLink();
63 63
64 if (_hasValue()) { 64 if (_hasValue()) {
65 content.addAll([ 65 content.addAll([
66 new SpanElement()..text = ' ', 66 new SpanElement()..text = ' ',
67 new CurlyBlockElement(expanded: _expanded, queue: _r.queue) 67 new CurlyBlockElement(expanded: _expanded, queue: _r.queue)
68 ..children = [ 68 ..content = [
69 new DivElement()..classes = ['indent'] 69 new DivElement()..classes = ['indent']
70 ..children = _createValue() 70 ..children = _createValue()
71 ] 71 ]
72 ..onToggle.listen((e) async { 72 ..onToggle.listen((e) async {
73 _expanded = e.control.expanded; 73 _expanded = e.control.expanded;
74 if (_expanded) { 74 if (_expanded) {
75 e.control.disabled = true; 75 e.control.disabled = true;
76 await _refresh(); 76 await _refresh();
77 e.control.disabled = false; 77 e.control.disabled = false;
78 } 78 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 new SpanElement()..classes = ['emphasize'] 147 new SpanElement()..classes = ['emphasize']
148 ..text = _instance.clazz.name, 148 ..text = _instance.clazz.name,
149 new SpanElement()..text = _instance.pattern.name 149 new SpanElement()..text = _instance.pattern.name
150 ] 150 ]
151 ]; 151 ];
152 case M.InstanceKind.stackTrace: 152 case M.InstanceKind.stackTrace:
153 return [ 153 return [
154 new AnchorElement(href: Uris.inspect(_isolate, object: _instance)) 154 new AnchorElement(href: Uris.inspect(_isolate, object: _instance))
155 ..text = _instance.clazz.name, 155 ..text = _instance.clazz.name,
156 new CurlyBlockElement(queue: _r.queue) 156 new CurlyBlockElement(queue: _r.queue)
157 ..children = [ 157 ..content = [
158 new DivElement()..classes = ['stackTraceBox'] 158 new DivElement()..classes = ['stackTraceBox']
159 ..text = _instance.valueAsString 159 ..text = _instance.valueAsString
160 ] 160 ]
161 ]; 161 ];
162 case M.InstanceKind.plainInstance: 162 case M.InstanceKind.plainInstance:
163 return [ 163 return [
164 new AnchorElement(href: Uris.inspect(_isolate, object: _instance)) 164 new AnchorElement(href: Uris.inspect(_isolate, object: _instance))
165 ..classes = ['emphasize'] 165 ..classes = ['emphasize']
166 ..text = _instance.clazz.name 166 ..text = _instance.clazz.name
167 ]; 167 ];
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 new BRElement(), 310 new BRElement(),
311 new SpanElement()..text = '<value> : ', 311 new SpanElement()..text = '<value> : ',
312 new InstanceRefElement(_isolate, _loadedInstance.value, _instances, 312 new InstanceRefElement(_isolate, _loadedInstance.value, _instances,
313 queue: _r.queue), 313 queue: _r.queue),
314 ]; 314 ];
315 default: 315 default:
316 return []; 316 return [];
317 } 317 }
318 } 318 }
319 } 319 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698