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

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

Issue 2244433003: Converted Observatory refs elements (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: All element tested Created 4 years, 4 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
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 import 'dart:html';
6 import 'dart:async';
7 import 'package:observatory/models.dart' as M
8 show IsolateRef, ObjectPoolRef;
9 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
10 import 'package:observatory/src/elements/helpers/tag.dart';
11 import 'package:observatory/src/elements/helpers/uris.dart';
12
13 class ObjectPoolRefElement extends HtmlElement implements Renderable {
14 static const tag = const Tag<ObjectPoolRefElement>('object-pool-ref');
15
16 RenderingScheduler<ObjectPoolRefElement> _r;
17
18 Stream<RenderedEvent<ObjectPoolRefElement>> get onRendered => _r.onRendered;
19
20 M.IsolateRef _isolate;
21 M.ObjectPoolRef _pool;
22
23 M.IsolateRef get isolate => _isolate;
24 M.ObjectPoolRef get pool => _pool;
25
26 factory ObjectPoolRefElement(M.IsolateRef isolate, M.ObjectPoolRef pool,
27 {RenderingQueue queue}) {
28 assert(isolate != null);
29 assert(pool != null);
30 ObjectPoolRefElement e = document.createElement(tag.name);
31 e._r = new RenderingScheduler(e, queue: queue);
32 e._isolate = isolate;
33 e._pool = pool;
34 return e;
35 }
36
37 ObjectPoolRefElement.created() : super.created();
38
39 @override
40 void attached() {
41 super.attached();
42 _r.enable();
43 }
44
45 @override
46 void detached() {
47 super.detached();
48 _r.disable(notify: true);
49 children = [];
50 }
51
52 void render() {
53 children = [
54 new AnchorElement(href: Uris.inspect(_isolate, object: _pool))
55 ..children = [
56 new SpanElement()..classes = ['emphatize']
57 ..text = 'ObjectPool',
58 new SpanElement()..text = ' (${_pool.length})'
59 ]
60 ];
61 }
62 }
63
64 /*
Cutch 2016/08/15 23:27:08 delete dead code
cbernaschina 2016/08/16 00:01:43 Done.
65 <curly-block callback="{{ expander() }}" expandKey="{{ expandKey }}">
66 <template if="{{ expanded }}">
67 <div class="indented">
68 <template repeat="{{ entry in ref.entries }}">
69 <div class="memberItem">
70 <div class="memberName">[PP+0x{{ entry['offset'].toRadixString(16) }}]</ div>
71 <div class="memberValue">
72 <template if="{{ entry['kind'] == 'Object' }}">
73 <any-service-ref ref="{{ entry['value'] }}">
74 </any-service-ref>
75 </template>
76 <template if="{{ entry['kind'] == 'Immediate' }}">
77 Immediate 0x{{ entry['value'].toRadixString(16) }}
78 </template>
79 <template if="{{ entry['kind'] == 'NativeEntry' }}">
80 NativeEntry 0x{{ entry['value'].toRadixString(16) }}
81 </template>
82 </div>
83 </div>
84 </template>
85 </div>
86 </template>
87 </curly-block>
88 */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698