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

Side by Side Diff: runtime/bin/vmservice/client/deployed/web/index.html

Issue 110703002: Add an instance view page to the vmservice. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/bin/vmservice/client/deployed/web/index.html_bootstrap.dart.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js" ></script> 1 <!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js" ></script>
2 <script src="packages/custom_element/custom-elements.debug.js"></script> 2 <script src="packages/custom_element/custom-elements.debug.js"></script>
3 <script src="packages/browser/interop.js"></script> 3 <script src="packages/browser/interop.js"></script>
4 4
5 <title>Dart VM Observatory</title> 5 <title>Dart VM Observatory</title>
6 <meta charset="utf-8"> 6 <meta charset="utf-8">
7 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c ss"> 7 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c ss">
8 8
9 <script src="index.html_bootstrap.dart.js"></script> 9 <script src="index.html_bootstrap.dart.js"></script>
10 10
(...skipping 12 matching lines...) Expand all
23 </template> 23 </template>
24 <template if="{{ (error_obj != null) &amp;&amp; (error_obj['type'] == 'LanguageError') }}"> 24 <template if="{{ (error_obj != null) &amp;&amp; (error_obj['type'] == 'LanguageError') }}">
25 <pre>{{ error_obj['error_msg'] }}</pre> 25 <pre>{{ error_obj['error_msg'] }}</pre>
26 </template> 26 </template>
27 </div> 27 </div>
28 </div> 28 </div>
29 </div> 29 </div>
30 </div> 30 </div>
31 </template> 31 </template>
32 32
33 </polymer-element><polymer-element name="class-view" extends="observatory-elemen t"> 33 </polymer-element><polymer-element name="field-ref" extends="observatory-element ">
34 <template>
35 <div>
36 <template if="{{ field['final'] }}"> final </template>
37 <template if="{{ field['const'] }}"> const </template>
38 <template if="{{ (field['declared_type']['name'] == 'dynamic' &amp;&amp; !fiel d['final'] &amp;&amp; !field['const']) }}">
39 var
40 </template>
41 <template if="{{ (field['declared_type']['name'] != 'dynamic') }}">
42 <a href="{{ app.locationManager.currentIsolateClassLink(field['declared_type'] ['id']) }}">
43 {{ field['declared_type']['user_name'] }} </a>
44 </template>
45 <a href="{{ app.locationManager.currentIsolateObjectLink(field['id'])}}">
46 {{ field['user_name'] }} </a>
47 </div>
48 </template> </polymer-element><polymer-element name="instance-ref" extends="obs ervatory-element">
49 <template>
50 <div>
51 <template if="{{ (instance['type'] == 'null') }}">
52 {{ "null" }}
53 </template>
54 <template if="{{ (instance['type'] != 'null') }}">
55 <a href="{{ app.locationManager.currentIsolateObjectLink(instance['id'])}}">
56 {{ instance['preview'] }}
57 </a>
58 </template>
59 </div>
60 </template> </polymer-element><polymer-element name="class-view" extends="obser vatory-element">
34 <template> 61 <template>
35 <div class="row"> 62 <div class="row">
36 <div class="col-md-8 col-md-offset-2"> 63 <div class="col-md-8 col-md-offset-2">
37 <div class="panel panel-warning"> 64 <div class="panel panel-warning">
38 <div class="panel-heading"> 65 <div class="panel-heading">
39 {{ cls['user_name'] }} ({{ cls['name'] }}) 66 class <strong>{{ cls['user_name'] }}</strong>
40 <template if="{{ cls['super']['type'] != 'Null' }}"> 67 <template if="{{ cls['super']['type'] != 'Null' }}">
41 extends 68 extends
42 <a href="{{ app.locationManager.currentIsolateClassLink(cls['super'] ['id'])}}"> 69 <a href="{{ app.locationManager.currentIsolateClassLink(cls['super'] ['id'])}}">
43 {{ cls['super']['user_name'] }} 70 {{ cls['super']['user_name'] }}
44 </a> 71 </a>
45 </template> 72 </template>
46 <a class="pull-right" href="{{ app.locationManager.currentIsolateObjec tLink(cls['library']['id'])}}"> 73 <a class="pull-right" href="{{ app.locationManager.currentIsolateObjec tLink(cls['library']['id'])}}">
47 {{ cls['library']['name'] }} 74 {{ cls['library']['name'] }}
48 </a> 75 </a>
49 </div> 76 </div>
50 <div class="panel-body"> 77 <div class="panel-body">
51 <table class="table table-hover"> 78 <table class="table table-hover">
52 <tbody> 79 <tbody>
53 <tr> 80 <tr>
54 <td>Abstract</td><td>{{ cls['abstract'] }}</td> 81 <td>Abstract</td><td>{{ cls['abstract'] }}</td>
55 </tr> 82 </tr>
56 <tr> 83 <tr>
57 <td>Const</td><td>{{ cls['const'] }}</td> 84 <td>Const</td><td>{{ cls['const'] }}</td>
58 </tr> 85 </tr>
59 <tr> 86 <tr>
60 <td>Finalized</td><td>{{ cls['const'] }}</td> 87 <td>Finalized</td><td>{{ cls['const'] }}</td>
61 </tr> 88 </tr>
62 <tr> 89 <tr>
63 <td>Implemented</td><td>{{ cls['implemented'] }}</td> 90 <td>Implemented</td><td>{{ cls['implemented'] }}</td>
64 </tr> 91 </tr>
65 <tr> 92 <tr>
66 <td>Patch</td><td>{{ cls['patch'] }}</td> 93 <td>Patch</td><td>{{ cls['patch'] }}</td>
67 </tr> 94 </tr>
95 <tr>
96 <td>VM Name</td><td>{{ cls['name'] }}</td>
97 </tr>
68 </tbody> 98 </tbody>
69 </table> 99 </table>
70 <template if="{{ cls['error'] == null }}"> 100 <template if="{{ cls['error'] == null }}">
71 <blockquote><strong>Fields</strong></blockquote> 101 <blockquote><strong>Fields</strong></blockquote>
72 <table class="table table-hover"> 102 <table class="table table-hover">
73 <thead> 103 <tbody>
74 <tr>
75 <th>User Name</th>
76 <th>VM Name</th>
77 </tr>
78 </thead>
79 <tbody>
80 <tr template="" repeat="{{ field in cls['fields'] }}"> 104 <tr template="" repeat="{{ field in cls['fields'] }}">
81 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f ield['id'])}}">{{ field['user_name'] }}</a></td> 105 <td><field-ref app="{{ app }}" field="{{ field }}"></field-ref ></td>
82 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f ield['id'])}}">{{ field['name'] }}</a></td> 106 <td><instance-ref app="{{ app }}" instance="{{ field['value'] }}"></instance-ref></td>
83 </tr> 107 </tr>
84 </tbody> 108 </tbody>
85 </table> 109 </table>
86 <blockquote><strong>Functions</strong></blockquote> 110 <blockquote><strong>Functions</strong></blockquote>
87 <table class="table table-hover"> 111 <table class="table table-hover">
88 <thead> 112 <thead>
89 <tr> 113 <tr>
90 <th>User Name</th> 114 <th>User Name</th>
91 <th>VM Name</th> 115 <th>VM Name</th>
92 </tr> 116 </tr>
93 </thead> 117 </thead>
94 <tbody> 118 <tbody>
95 <tr template="" repeat="{{ function in cls['functions'] }}"> 119 <tr template="" repeat="{{ function in cls['functions'] }}">
96 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f unction['id'])}}">{{ function['user_name'] }}</a></td> 120 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f unction['id'])}}">{{ function['user_name'] }}</a></td>
97 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f unction['id'])}}">{{ function['name'] }}</a></td> 121 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f unction['id'])}}">{{ function['name'] }}</a></td>
98 </tr> 122 </tr>
99 </tbody> 123 </tbody>
100 </table> 124 </table>
101 </template> 125 </template>
102 <template if="{{ cls['error'] != null }}"> 126 <template if="{{ cls['error'] != null }}">
103 <error-view error_obj="{{ cls['error'] }}"></error-view> 127 <error-view error_obj="{{ cls['error'] }}"></error-view>
104 </template> 128 </template>
105 </div> 129 </div>
106 </div> 130 </div>
107 </div> 131 </div>
108 </div> 132 </div>
109 </template> 133 </template>
110 134
111 </polymer-element> 135 </polymer-element><polymer-element name="disassembly-entry" extends="observatory -element">
112 <polymer-element name="disassembly-entry" extends="observatory-element">
113 <template> 136 <template>
114 <div class="row"> 137 <div class="row">
115 <template if="{{ instruction['type'] == 'DisassembledInstructionComment' }}" > 138 <template if="{{ instruction['type'] == 'DisassembledInstructionComment' }}" >
116 <div class="col-md-2"></div> 139 <div class="col-md-2"></div>
117 <div class="col-md-2"></div> 140 <div class="col-md-2"></div>
118 <div class="col-md-4"><code>{{ instruction['comment'] }}</code></div> 141 <div class="col-md-4"><code>{{ instruction['comment'] }}</code></div>
119 </template> 142 </template>
120 <template if="{{ instruction['type'] == 'DisassembledInstruction' }}"> 143 <template if="{{ instruction['type'] == 'DisassembledInstruction' }}">
121 <div class="col-md-2"></div> 144 <div class="col-md-2"></div>
122 <div class="col-md-2">{{ instruction['pc'] }}</div> 145 <div class="col-md-2">{{ instruction['pc'] }}</div>
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 </div> 277 </div>
255 </div> 278 </div>
256 </div> 279 </div>
257 </div> 280 </div>
258 </template> 281 </template>
259 282
260 </polymer-element><polymer-element name="isolate-summary" extends="observatory-e lement"> 283 </polymer-element><polymer-element name="isolate-summary" extends="observatory-e lement">
261 <template> 284 <template>
262 <div class="row"> 285 <div class="row">
263 <div class="col-md-1"> 286 <div class="col-md-1">
264 » » <img src="img/isolate_icon.png" class="img-polaroid">» 287 » » <img src="packages/observatory/src/observatory_elements/img/isol ate_icon.png" class="img-polaroid">»
265 </div> 288 </div>
266 <div class="col-md-1">{{ isolate }}</div> 289 <div class="col-md-1">{{ isolate }}</div>
267 <div class="col-md-10">{{ name }}</div> 290 <div class="col-md-10">{{ name }}</div>
268 </div> 291 </div>
269 <div class="row"> 292 <div class="row">
270 <div class="col-md-2"></div> 293 <div class="col-md-2"></div>
271 <div class="col-md-1"> 294 <div class="col-md-1">
272 <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrac e') }}">Stacktrace</a> 295 <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrac e') }}">Stacktrace</a>
273 </div> 296 </div>
274 <div class="col-md-1"> 297 <div class="col-md-1">
275 <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Lib rary</a> 298 <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Lib rary</a>
276 </div> 299 </div>
277 <div class="col-md-8"></div> 300 <div class="col-md-8"></div>
278 </div> 301 </div>
279 </template> 302 </template>
280 303
281 </polymer-element><polymer-element name="isolate-list" extends="observatory-elem ent"> 304 </polymer-element><polymer-element name="isolate-list" extends="observatory-elem ent">
282 <template> 305 <template>
283 <ul class="list-group"> 306 <ul class="list-group">
284 <template repeat="{{ isolate in app.isolateManager.isolates.values }}"> 307 <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
285 <li class="list-group-item"> 308 <li class="list-group-item">
286 <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ iso late.name }}"></isolate-summary> 309 <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ iso late.name }}"></isolate-summary>
287 </li> 310 </li>
288 </template> 311 </template>
289 </ul> 312 </ul>
290 </template> 313 </template>
291 314
315 </polymer-element><polymer-element name="instance-view" extends="observatory-ele ment">
316 <template>
317 <div class="row">
318 <div class="col-md-8 col-md-offset-2">
319 <div class="panel panel-warning">
320 <div class="panel-heading">
321 Instance of
322 <a href="{{ app.locationManager.currentIsolateClassLink(instance['class ']['id'])}}">
323 {{ instance['class']['user_name'] }}
324 </a>
325 </div>
326 <div class="panel-body">
327 <template if="{{ instance['error'] == null }}">
328 <table class="table table-hover">
329 <tbody>
330 <tr>
331 <td>Preview</td><td>{{ instance['preview'] }}</td>
332 </tr>
333 </tbody>
334 </table>
335 <blockquote><strong>Fields</strong></blockquote>
336 <table class="table table-hover">
337 <tbody>
338 <tr template="" repeat="{{ field in instance['fields'] }}">
339 <td><field-ref app="{{ app }}" field="{{ field }}"></field-ref ></td>
340 <td><instance-ref app="{{ app }}" instance="{{ field['value'] }}"></instance-ref></td>
341 </tr>
342 </tbody>
343 </table>
344 </template>
345 <template if="{{ instance['error'] != null }}">
346 <error-view error_obj="{{ instance['error'] }}"></error-view>
347 </template>
348 </div>
349 </div>
350 </div>
351 </div>
352 </template>
353
292 </polymer-element><polymer-element name="json-view" extends="observatory-element "> 354 </polymer-element><polymer-element name="json-view" extends="observatory-element ">
293 <template> 355 <template>
294 <template bind="" if="{{ valueType == 'Primitive' }}"> 356 <template bind="" if="{{ valueType == 'Primitive' }}">
295 <span>{{primitiveString}}</span> 357 <span>{{primitiveString}}</span>
296 </template> 358 </template>
297 <template bind="" if="{{ valueType == 'List' }}"> 359 <template bind="" if="{{ valueType == 'List' }}">
298 <table class="table table-condensed table-bordered"> 360 <table class="table table-condensed table-bordered">
299 <caption class="text-left">List, {{list.length}}</caption> 361 <caption class="text-left">List, {{list.length}}</caption>
300 <tbody> 362 <tbody>
301 <tr template="" repeat="{{item in list)}}"> 363 <tr template="" repeat="{{item in list)}}">
302 <th>{{counter}}</th> 364 <th>{{counter}}</th>
303 <td><json-view json="{{item}}"></json-view></td> 365 <td><json-view json="{{item}}"></json-view></td>
304 </tr> 366 </tr>
305 </tbody> 367 </tbody>
306 </table> 368 </table>
307 </template> 369 </template>
308 <template if="{{ valueType == 'Map' }}"> 370 <template if="{{ valueType == 'Map' }}">
309 <table class="table table-condensed table-bordered"> 371 <table class="table table-condensed table-bordered">
310 <caption class="text-left">Map, {{keys.length}}</caption> 372 <caption class="text-left">Map, {{keys.length}}</caption>
311 <tbody> 373 <tbody>
312 <tr template="" repeat="{{key in keys}}"> 374 <tr template="" repeat="{{key in keys}}">
313 <th>{{key}}</th> 375 <th>{{key}}</th>
314 <td><json-view json="{{value(key)}}"></json-view></td> 376 <td><json-view json="{{value(key)}}"></json-view></td>
315 </tr> 377 </tr>
316 </tbody> 378 </tbody>
317 </table> 379 </table>
318 </template> 380 </template>
319 </template> 381 </template>
320 382
321 </polymer-element> 383 </polymer-element><polymer-element name="library-view" extends="observatory-elem ent">
322 <polymer-element name="library-view" extends="observatory-element">
323 <template> 384 <template>
324 <div class="alert alert-success">Library {{ library['name'] }}</div> 385 <div class="alert alert-success">Library {{ library['name'] }}</div>
325 <div class="alert alert-info">Scripts</div> 386 <div class="alert alert-info">Scripts</div>
326 <table class="table table-hover"> 387 <table class="table table-hover">
327 <tbody> 388 <tbody>
328 <tr template="" repeat="{{ script in library['scripts']}}"> 389 <tr template="" repeat="{{ script in library['scripts']}}">
329 <td> 390 <td>
330 {{ script['kind'] }} 391 {{ script['kind'] }}
331 </td> 392 </td>
332 <td> 393 <td>
(...skipping 11 matching lines...) Expand all
344 {{ lib['url'] }} 405 {{ lib['url'] }}
345 </a> 406 </a>
346 </td> 407 </td>
347 </tr> 408 </tr>
348 </tbody> 409 </tbody>
349 </table> 410 </table>
350 <div class="alert alert-info">Variables</div> 411 <div class="alert alert-info">Variables</div>
351 <table class="table table-hover"> 412 <table class="table table-hover">
352 <tbody> 413 <tbody>
353 <tr template="" repeat="{{ variable in library['variables'] }}"> 414 <tr template="" repeat="{{ variable in library['variables'] }}">
354 <td> 415 <td><field-ref app="{{ app }}" field="{{ variable }}"></field-ref></td>
355 <template if="{{ variable['final'] }}"> 416 <td><instance-ref app="{{ app }}" instance="{{ variable['value'] }}"></i nstance-ref></td>
356 final
357 </template>
358 <template if="{{ variable['const'] }}">
359 const
360 </template>
361 <template if="{{ (variable['declared_type']['name'] == 'dynamic' &amp; &amp; !variable['final'] &amp;&amp; !variable['const']) }}">
362 var
363 </template>
364 <template if="{{ (variable['declared_type']['name'] != 'dynamic') }}">
365 <a href="{{ app.locationManager.currentIsolateClassLink(variable['de clared_type']['id']) }}">
366 {{ variable['declared_type']['user_name'] }}
367 </a>
368 </template>
369 <a href="{{ app.locationManager.currentIsolateObjectLink(variable['id' ])}}">
370 {{ variable['user_name'] }}
371 </a>
372 </td>
373 <td>
374 <template if="{{ (variable['value']['type'] == 'null') }}">
375 {{ "null" }}
376 </template>
377 <template if="{{ (variable['value']['type'] != 'null') }}">
378 <a href="{{ app.locationManager.currentIsolateObjectLink(variable['v alue']['id'])}}">
379 {{ variable['value']['preview'] }}
380 </a>
381 </template>
382 </td>
383 </tr> 417 </tr>
384 </tbody> 418 </tbody>
385 </table> 419 </table>
386 <div class="alert alert-info">Functions</div> 420 <div class="alert alert-info">Functions</div>
387 <table class="table table-hover"> 421 <table class="table table-hover">
388 <tbody> 422 <tbody>
389 <tr template="" repeat="{{ func in library['functions'] }}"> 423 <tr template="" repeat="{{ func in library['functions'] }}">
390 <td> 424 <td>
391 <a href="{{ app.locationManager.currentIsolateObjectLink(func['id'])}} "> 425 <a href="{{ app.locationManager.currentIsolateObjectLink(func['id'])}} ">
392 {{ func['user_name'] }} 426 {{ func['user_name'] }}
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 </template> 520 </template>
487 <template if="{{ messageType == 'Library' }}"> 521 <template if="{{ messageType == 'Library' }}">
488 <library-view app="{{ app }}" library="{{ message }}"></library-view> 522 <library-view app="{{ app }}" library="{{ message }}"></library-view>
489 </template> 523 </template>
490 <template if="{{ messageType == 'Class' }}"> 524 <template if="{{ messageType == 'Class' }}">
491 <class-view app="{{ app }}" cls="{{ message }}"></class-view> 525 <class-view app="{{ app }}" cls="{{ message }}"></class-view>
492 </template> 526 </template>
493 <template if="{{ messageType == 'Field' }}"> 527 <template if="{{ messageType == 'Field' }}">
494 <field-view app="{{ app }}" field="{{ message }}"></field-view> 528 <field-view app="{{ app }}" field="{{ message }}"></field-view>
495 </template> 529 </template>
530 <template if="{{ messageType == 'Instance' }}">
531 <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
532 </template>
533 <template if="{{ messageType == 'Array' }}">
534 <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
535 </template>
536 <template if="{{ messageType == 'GrowableObjectArray' }}">
537 <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
538 </template>
539 <template if="{{ messageType == 'String' }}">
540 <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
541 </template>
542 <template if="{{ messageType == 'Bool' }}">
543 <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
544 </template>
545 <template if="{{ messageType == 'Smi' }}">
546 <instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
547 </template>
496 <template if="{{ messageType == 'Function' }}"> 548 <template if="{{ messageType == 'Function' }}">
497 <function-view app="{{ app }}" function="{{ message }}"></function-view> 549 <function-view app="{{ app }}" function="{{ message }}"></function-view>
498 </template> 550 </template>
499 <template if="{{ messageType == 'Code' }}"> 551 <template if="{{ messageType == 'Code' }}">
500 <code-view app="{{ app }}" code="{{ message }}"></code-view> 552 <code-view app="{{ app }}" code="{{ message }}"></code-view>
501 </template> 553 </template>
502 <template if="{{ messageType == 'Script' }}"> 554 <template if="{{ messageType == 'Script' }}">
503 <script-view app="{{ app }}" script="{{ message }}"></script-view> 555 <script-view app="{{ app }}" script="{{ message }}"></script-view>
504 </template> 556 </template>
505 <!-- Add new views and message types in the future here. --> 557 <!-- Add new views and message types in the future here. -->
(...skipping 23 matching lines...) Expand all
529 581
530 </polymer-element><polymer-element name="observatory-application" extends="obser vatory-element"> 582 </polymer-element><polymer-element name="observatory-application" extends="obser vatory-element">
531 <template> 583 <template>
532 <navigation-bar app="{{ app }}"></navigation-bar> 584 <navigation-bar app="{{ app }}"></navigation-bar>
533 <response-viewer app="{{ app }}"></response-viewer> 585 <response-viewer app="{{ app }}"></response-viewer>
534 </template> 586 </template>
535 587
536 </polymer-element> 588 </polymer-element>
537 <observatory-application></observatory-application> 589 <observatory-application></observatory-application>
538 590
539 </body></html> 591 </body></html>
OLDNEW
« no previous file with comments | « no previous file | runtime/bin/vmservice/client/deployed/web/index.html_bootstrap.dart.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698