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

Side by Side Diff: runtime/observatory/lib/src/elements/class_view.html

Issue 2294073003: Converted Observatory class-view element (Closed)
Patch Set: Addressed comments 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
(Empty)
1 <link rel="import" href="../../../../packages/polymer/polymer.html">
2 <link rel="import" href="action_link.html">
3 <link rel="import" href="eval_link.html">
4
5 <polymer-element name="class-view">
6 <template>
7 <link rel="stylesheet" href="css/shared.css">
8 <nav-bar>
9 <top-nav-menu></top-nav-menu>
10 <vm-nav-menu vm="{{ cls.isolate.vm }}"></vm-nav-menu>
11 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu>
12 <library-nav-menu library="{{ cls.library }}"></library-nav-menu>
13 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu>
14 <nav-refresh callback="{{ refreshAllocationProfile }}" label="Refresh Allo cation Profile"></nav-refresh>
15 <nav-refresh callback="{{ refresh }}"></nav-refresh>
16 <nav-notify notifications="{{ app.notifications }}"></nav-notify>
17 </nav-bar>
18
19 <div class="content">
20 <h1>
21 <template if="{{ cls.isAbstract }}">
22 abstract
23 </template>
24 <template if="{{ cls.isPatch }}">
25 patch
26 </template>
27 <template if="{{ cls.mixin != null }}">
28 mixin
29 </template>
30 class {{ cls.name }}
31 </h1>
32
33 <object-common object="{{ cls }}"></object-common>
34 <br>
35
36 <div class="memberList">
37 <div class="memberItem">
38 <div class="memberName">library</div>
39 <div class="memberValue">
40 <library-ref ref="{{ cls.library }}"></library-ref>
41 </div>
42 </div>
43 <div class="memberItem">
44 <div class="memberName">script</div>
45 <div class="memberValue">
46 <source-link location="{{ cls.location }}"></source-link>
47 </div>
48 </div>
49
50 <div class="memberItem">&nbsp;</div>
51
52 <template if="{{ cls.superclass != null }}">
53 <div class="memberItem">
54 <div class="memberName">superclass</div>
55 <div class="memberValue">
56 <class-ref ref="{{ cls.superclass }}"></class-ref>
57 </div>
58 </div>
59 </template>
60 <template if="{{ cls.superType != null }}">
61 <div class="memberItem">
62 <div class="memberName">supertype</div>
63 <div class="memberValue">
64 <instance-ref ref="{{ cls.superType }}"></instance-ref>
65 </div>
66 </div>
67 </template>
68 <template if="{{ cls.mixin != null }}">
69 <div class="memberItem">
70 <div class="memberName">mixin</div>
71 <div class="memberValue">
72 <instance-ref ref="{{ cls.mixin }}"></instance-ref>
73 </div>
74 </div>
75 </template>
76 <template if="{{ cls.subclasses.length > 0 }}">
77 <div class="memberItem">
78 <div class="memberName">extended by</div>
79 <div class="memberValue">
80 <template repeat="{{ subclass in cls.subclasses }}">
81 <class-ref ref="{{ subclass }}"></class-ref>
82 </template>
83 </div>
84 </div>
85 </template>
86
87 <div class="memberItem">&nbsp;</div>
88
89 <template if="{{ cls.interfaces.length > 0 }}">
90 <div class="memberItem">
91 <div class="memberName">implements</div>
92 <div class="memberValue">
93 <template repeat="{{ interface in cls.interfaces }}">
94 <instance-ref ref="{{ interface }}"></instance-ref>
95 </template>
96 </div>
97 </div>
98 </template>
99 <template if="{{ cls.name != cls.vmName }}">
100 <div class="memberItem">
101 <div class="memberName">vm name</div>
102 <div class="memberValue">{{ cls.vmName }}</div>
103 </div>
104 </template>
105 </div>
106 </div>
107
108 <template if="{{ cls.error != null }}">
109 <error-ref ref="{{ cls.error }}"></error-ref>
110 </template>
111
112 <hr>
113
114 <div class="content">
115 <eval-box context="{{ cls }}"></eval-box>
116 </div>
117
118 <hr>
119
120 <div class="content">
121 <template if="{{ cls.fields.isNotEmpty }}">
122 fields ({{ cls.fields.length }})
123 <curly-block expand="{{ cls.fields.length <= 8 }}">
124 <div class="memberList">
125 <template repeat="{{ field in cls.fields }}">
126 <div class="memberItem">
127 <div class="memberName">
128 <field-ref ref="{{ field }}"></field-ref>
129 </div>
130 <div class="memberValue">
131 <template if="{{ field.staticValue != null }}">
132 <any-service-ref ref="{{ field.staticValue }}"></any-service -ref>
133 </template>
134 </div>
135 </div>
136 </template>
137 </div>
138 </curly-block><br><br>
139 </template>
140
141 <template if="{{ cls.functions.isNotEmpty }}">
142 functions ({{ cls.functions.length }})
143 <curly-block expand="{{ cls.functions.length <= 8 }}">
144 <div class="memberList">
145 <template repeat="{{ function in cls.functions }}">
146 <div class="memberItem">
147 <div class="memberValue">
148 <function-ref ref="{{ function }}" qualified="{{ false }}">
149 </function-ref>
150 </div>
151 </div>
152 </template>
153 </div>
154 </curly-block><br><br>
155 </template>
156
157 <template if="{{ !cls.hasNoAllocations }}">
158 instances
159 <div class="memberItem">
160 <div class="memberName">currently allocated</div>
161 <div class="memberValue">
162 count {{ cls.newSpace.current.instances + cls.oldSpace.current.ins tances }}
163 (shallow size {{ cls.newSpace.current.bytes + cls.oldSpace.current .bytes | formatSize }})
164 </div>
165 </div>
166 <div class="memberItem">
167 <div class="memberName">strongly reachable</div>
168 <div class="memberValue">
169 <template if="{{ instances == null }}">
170 <eval-link callback="{{ reachable }}"
171 label="[find]"
172 expr="100">
173 </eval-link>
174 </template>
175 <template if="{{ instances != null }}">
176 <template repeat="{{ sample in instances['samples'] }}">
177 <any-service-ref ref="{{ sample }}">
178 </any-service-ref><br>
179 </template>
180 <template if="{{ instances['totalCount'] > instances['samples']. length }}">
181 <eval-link callback="{{ reachable }}"
182 label="[more]"
183 expr="{{ instances['samples'].length * 2 }}">
184 </eval-link>
185 </template>
186 of total {{ instances['totalCount'] }}
187 </template>
188 </div>
189 </div>
190 <div class="memberItem">
191 <div class="memberName">total reachable memory size</div>
192 <div class="memberValue">
193 <template if="{{ reachableBytes == null }}">
194 <eval-link callback="{{ reachableSize }}"
195 label="[calculate]">
196 </eval-link>
197 </template>
198 <template if="{{ reachableBytes != null }}">
199 {{ reachableBytes | formatSize }}
200 </template>
201 </div>
202 </div>
203 <div class="memberItem">
204 <div class="memberName">total retained memory size</div>
205 <div class="memberValue">
206 <template if="{{ retainedBytes == null }}">
207 <eval-link callback="{{ retainedSize }}"
208 label="[calculate]">
209 </eval-link>
210 </template>
211 <template if="{{ retainedBytes != null }}">
212 {{ retainedBytes | formatSize }}
213 </template>
214 </div>
215 </div>
216 <div class="memberItem">
217 <div class="memberName">toplist by retained memory</div>
218 <div class="memberValue">
219 <template if="{{ mostRetained == null }}">
220 <eval-link callback="{{ retainedToplist }}"
221 label="[find]">
222 </eval-link>
223 </template>
224 <template if="{{ mostRetained != null }}">
225 <template repeat="{{ most in mostRetained }}">
226 {{ most.retainedSize | formatSize }}<any-service-ref ref="{{ m ost }}"></any-service-ref><br>
227 </template>
228 </template>
229 </div>
230 </div>
231 </template>
232 </div>
233
234 <hr>
235
236 <div class="content">
237 <h2>Allocations</h2>
238 <div class="memberList">
239 <template if="{{ cls.traceAllocations }}">
240 <div class="memberItem">
241 <div class="memberName">Tracing allocations?</div>
242 <div class="memberValue">
243 <span>Yes</span><action-link label="disable" callback="{{ toggleAl locationTrace }}"></action-link>
244 </div>
245 </div>
246 </template>
247 <template if="{{ !cls.traceAllocations }}">
248 <div class="memberItem">
249 <div class="memberName">Tracing allocations?</div>
250 <div class="memberValue">
251 <span>No</span><action-link label="enable" callback="{{ toggleAllo cationTrace }}"></action-link>
252 </div>
253 </div>
254 </template>
255 </div>
256 <div id="sampleBufferControl"></div>
257 <br>
258 <div id="stackTraceTreeConfig"></div>
259 <br>
260 <div id="cpuProfileTree"></div>
261 </div>
262
263 <div class="content-centered-big">
264 <hr>
265 <source-inset location="{{ cls.location }}">
266 </source-inset>
267 </div>
268
269 <view-footer></view-footer>
270 </template>
271 </polymer-element>
272
273 <script type="application/dart" src="class_view.dart"></script>
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/class_view.dart ('k') | runtime/observatory/lib/src/elements/css/shared.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698