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

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

Issue 184233007: Refactor Observatory (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « runtime/bin/vmservice/client/build_.dart ('k') | runtime/bin/vmservice/client/lib/app.dart » ('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> 1 <!DOCTYPE html><html><head>
2 2
3 3
4 <meta charset="utf-8"> 4 <meta charset="utf-8">
5 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c ss"> 5 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c ss">
6 6
7 <title>Dart VM Observatory</title> 7 <title>Dart VM Observatory</title>
8 <script type="text/javascript" src="https://www.google.com/jsapi"></script> 8 <script type="text/javascript" src="https://www.google.com/jsapi"></script>
9 9
10 10
11 <script src="index.html_bootstrap.dart.js"></script> 11 <script src="index.html_bootstrap.dart.js"></script>
12 12
13 </head> 13 </head>
14 <body><polymer-element name="observatory-element"> 14 <body><polymer-element name="observatory-element">
15 15
16 </polymer-element> 16 </polymer-element>
17 <polymer-element name="nav-bar" extends="observatory-element"> 17 <polymer-element name="nav-bar" extends="observatory-element">
18 <template> 18 <template>
19 <style> 19 <style>
20 nav ul { 20 nav ul {
21 display: inline-table; 21 display: inline-table;
22 position: relative; 22 position: relative;
23 list-style: none; 23 list-style: none;
24 padding-left: 0; 24 padding-left: 0;
25 margin-left: 0; 25 margin-left: 0;
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 <template if="{{ msg['breakpoints'].isNotEmpty }}"> 216 <template if="{{ msg['breakpoints'].isNotEmpty }}">
217 <ul class="list-group"> 217 <ul class="list-group">
218 <template repeat="{{ bpt in msg['breakpoints'] }}"> 218 <template repeat="{{ bpt in msg['breakpoints'] }}">
219 <li class="list-group-item"> 219 <li class="list-group-item">
220 {{ bpt }} 220 {{ bpt }}
221 </li> 221 </li>
222 </template> 222 </template>
223 </ul> 223 </ul>
224 </template> 224 </template>
225 </template> 225 </template>
226 226
227 </polymer-element> 227 </polymer-element>
228 <polymer-element name="service-ref" extends="observatory-element"> 228 <polymer-element name="service-ref" extends="observatory-element">
229 229
230 </polymer-element><polymer-element name="class-ref" extends="service-ref"> 230 </polymer-element><polymer-element name="class-ref" extends="service-ref">
231 <template> 231 <template>
232 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> 232 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
233 </template> 233 </template>
234 234
235 </polymer-element> 235 </polymer-element>
236 <polymer-element name="error-view" extends="observatory-element"> 236 <polymer-element name="error-view" extends="observatory-element">
237 <template> 237 <template>
238 <div class="row"> 238 <div class="row">
239 <div class="col-md-8 col-md-offset-2"> 239 <div class="col-md-8 col-md-offset-2">
240 <div class="panel panel-danger"> 240 <div class="panel panel-danger">
241 <div class="panel-heading">{{ error['errorType'] }}</div> 241 <div class="panel-heading">{{ error['errorType'] }}</div>
242 <div class="panel-body"> 242 <div class="panel-body">
243 <p>{{ error['text'] }}</p> 243 <p>{{ error['text'] }}</p>
244 </div> 244 </div>
245 </div> 245 </div>
246 </div> 246 </div>
247 </div> 247 </div>
248 </template> 248 </template>
249 249
250 </polymer-element><polymer-element name="field-ref" extends="service-ref"> 250 </polymer-element><polymer-element name="field-ref" extends="service-ref">
251 <template> 251 <template>
252 <div> 252 <div>
253 <template if="{{ ref['final'] }}"> final </template> 253 <template if="{{ ref['final'] }}"> final </template>
254 <template if="{{ ref['const'] }}"> const </template> 254 <template if="{{ ref['const'] }}"> const </template>
255 <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp; !ref['f inal'] &amp;&amp; !ref['const']) }}"> 255 <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp; !ref['f inal'] &amp;&amp; !ref['const']) }}">
256 var 256 var
257 </template> 257 </template>
258 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}"> 258 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}">
259 <class-ref app="{{ app }}" ref="{{ ref['declared_type'] }}"></class-ref> 259 <class-ref app="{{ app }}" ref="{{ ref['declared_type'] }}"></class-ref>
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 296
297 <template if="{{ !expanded }}"> 297 <template if="{{ !expanded }}">
298 <template if="{{ busy }}"> 298 <template if="{{ busy }}">
299 {<div class="busy">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div>} 299 {<div class="busy">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div>}
300 </template> 300 </template>
301 <template if="{{ !busy }}"> 301 <template if="{{ !busy }}">
302 {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊞&nbsp;& nbsp;</div></a>} 302 {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊞&nbsp;& nbsp;</div></a>}
303 </template> 303 </template>
304 </template> 304 </template>
305 </template> 305 </template>
306 306
307 </polymer-element> 307 </polymer-element>
308 <polymer-element name="instance-ref" extends="service-ref"> 308 <polymer-element name="instance-ref" extends="service-ref">
309 <template> 309 <template>
310 <style> 310 <style>
311 .member { 311 .member {
312 vertical-align: top; 312 vertical-align: top;
313 padding: 0 0 0 1em; 313 padding: 0 0 0 1em;
314 } 314 }
315 </style> 315 </style>
316 <div> 316 <div>
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 <td class="member"> 357 <td class="member">
358 <instance-ref app="{{ app }}" ref="{{ element['value'] }}"></ins tance-ref> 358 <instance-ref app="{{ app }}" ref="{{ element['value'] }}"></ins tance-ref>
359 </td> 359 </td>
360 </tr> 360 </tr>
361 </tbody></table> 361 </tbody></table>
362 </curly-block> 362 </curly-block>
363 </template> 363 </template>
364 364
365 </div> 365 </div>
366 </template> 366 </template>
367 367
368 </polymer-element> 368 </polymer-element>
369 <polymer-element name="library-ref" extends="service-ref"> 369 <polymer-element name="library-ref" extends="service-ref">
370 <template> 370 <template>
371 <a href="{{ url }}">{{ name }}</a> 371 <a href="{{ url }}">{{ name }}</a>
372 </template> 372 </template>
373 373
374 </polymer-element><polymer-element name="class-view" extends="observatory-elemen t"> 374 </polymer-element><polymer-element name="class-view" extends="observatory-elemen t">
375 <template> 375 <template>
376 <nav-bar> 376 <nav-bar>
377 <top-nav-menu></top-nav-menu> 377 <top-nav-menu></top-nav-menu>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 </table> 443 </table>
444 </template> 444 </template>
445 <template if="{{ cls['error'] != null }}"> 445 <template if="{{ cls['error'] != null }}">
446 <error-view error_obj="{{ cls['error'] }}"></error-view> 446 <error-view error_obj="{{ cls['error'] }}"></error-view>
447 </template> 447 </template>
448 </div> 448 </div>
449 </div> 449 </div>
450 </div> 450 </div>
451 </div> 451 </div>
452 </template> 452 </template>
453 453
454 </polymer-element> 454 </polymer-element>
455 <polymer-element name="code-ref" extends="service-ref"> 455 <polymer-element name="code-ref" extends="service-ref">
456 <template> 456 <template>
457 <a href="{{ url }}">{{ name }}</a> 457 <a href="{{ url }}">{{ name }}</a>
458 </template> 458 </template>
459 459
460 </polymer-element><polymer-element name="disassembly-entry" extends="observatory -element"> 460 </polymer-element><polymer-element name="disassembly-entry" extends="observatory -element">
461 <template> 461 <template>
462 <div class="row"> 462 <div class="row">
463 <div class="col-md-2">{{ instruction.formattedTicks() }}</div> 463 <div class="col-md-2">{{ instruction.formattedTicks() }}</div>
464 <div class="col-md-2">{{ instruction.formattedAddress() }}</div> 464 <div class="col-md-2">{{ instruction.formattedAddress() }}</div>
465 <div class="col-md-4"> 465 <div class="col-md-4">
466 <code>{{ instruction.machine }} {{ instruction.human }}</code> 466 <code>{{ instruction.machine }} {{ instruction.human }}</code>
467 </div> 467 </div>
468 </div> 468 </div>
469 </template> 469 </template>
470 470
471 </polymer-element><polymer-element name="code-view" extends="observatory-element "> 471 </polymer-element><polymer-element name="code-view" extends="observatory-element ">
472 <template> 472 <template>
473 <nav-bar> 473 <nav-bar>
474 <top-nav-menu></top-nav-menu> 474 <top-nav-menu></top-nav-menu>
475 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 475 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
476 </isolate-nav-menu> 476 </isolate-nav-menu>
477 <nav-menu link="." anchor="{{ code.functionRef['user_name'] }}" last="{{ t rue }}"></nav-menu> 477 <nav-menu link="." anchor="{{ code.functionRef['user_name'] }}" last="{{ t rue }}"></nav-menu>
478 <!-- TODO(turnidge): Implement code refresh --> 478 <!-- TODO(turnidge): Implement code refresh -->
479 </nav-bar> 479 </nav-bar>
480 480
(...skipping 11 matching lines...) Expand all
492 </div> 492 </div>
493 <template repeat="{{ instruction in code.instructions }}"> 493 <template repeat="{{ instruction in code.instructions }}">
494 <disassembly-entry instruction="{{ instruction }}"> 494 <disassembly-entry instruction="{{ instruction }}">
495 </disassembly-entry> 495 </disassembly-entry>
496 </template> 496 </template>
497 </div> 497 </div>
498 </div> 498 </div>
499 </div> 499 </div>
500 </div> 500 </div>
501 </template> 501 </template>
502 502
503 </polymer-element> 503 </polymer-element>
504 <polymer-element name="collapsible-content" extends="observatory-element"> 504 <polymer-element name="collapsible-content" extends="observatory-element">
505 <template> 505 <template>
506 <div class="well row"> 506 <div class="well row">
507 <a on-click="toggleDisplay" class="btn muted unselectable"> 507 <a on-click="toggleDisplay" class="btn muted unselectable">
508 Raw message... <i class="{{ iconClass }}"></i> 508 Raw message... <i class="{{ iconClass }}"></i>
509 </a> 509 </a>
510 <div style="display: {{ displayValue }}" class="well"> 510 <div style="display: {{ displayValue }}" class="well">
511 <content></content> 511 <content></content>
512 </div> 512 </div>
513 </div> 513 </div>
514 </template> 514 </template>
515 515
516 </polymer-element><polymer-element name="field-view" extends="observatory-elemen t"> 516 </polymer-element><polymer-element name="field-view" extends="observatory-elemen t">
517 <template> 517 <template>
518 <nav-bar> 518 <nav-bar>
519 <top-nav-menu></top-nav-menu> 519 <top-nav-menu></top-nav-menu>
520 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 520 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
521 </isolate-nav-menu> 521 </isolate-nav-menu>
522 <template if="{{ field['owner']['type'] == '@Class' }}"> 522 <template if="{{ field['owner']['type'] == '@Class' }}">
523 <!-- TODO(turnidge): Add library nav menu here. --> 523 <!-- TODO(turnidge): Add library nav menu here. -->
524 <class-nav-menu app="{{ app }}" cls="{{ field['owner'] }}"></class-nav-m enu> 524 <class-nav-menu app="{{ app }}" cls="{{ field['owner'] }}"></class-nav-m enu>
525 </template> 525 </template>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 </template> 558 </template>
559 <blockquote> 559 <blockquote>
560 <class-ref app="{{ app }}" ref="{{ field['guard_class'] }}"></class- ref> 560 <class-ref app="{{ app }}" ref="{{ field['guard_class'] }}"></class- ref>
561 </blockquote> 561 </blockquote>
562 </template> 562 </template>
563 </div> 563 </div>
564 </div> 564 </div>
565 </div> 565 </div>
566 </div> 566 </div>
567 </template> 567 </template>
568 568
569 </polymer-element> 569 </polymer-element>
570 <polymer-element name="function-view" extends="observatory-element"> 570 <polymer-element name="function-view" extends="observatory-element">
571 <template> 571 <template>
572 <nav-bar> 572 <nav-bar>
573 <top-nav-menu></top-nav-menu> 573 <top-nav-menu></top-nav-menu>
574 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 574 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
575 </isolate-nav-menu> 575 </isolate-nav-menu>
576 <template if="{{ function['owner']['type'] == '@Class' }}"> 576 <template if="{{ function['owner']['type'] == '@Class' }}">
577 <!-- TODO(turnidge): Add library nav menu here. --> 577 <!-- TODO(turnidge): Add library nav menu here. -->
578 <class-nav-menu app="{{ app }}" cls="{{ function['owner'] }}"></class-na v-menu> 578 <class-nav-menu app="{{ app }}" cls="{{ function['owner'] }}"></class-na v-menu>
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 <tr> 622 <tr>
623 <td>Deoptimizations</td><td>{{ function['deoptimizations'] }}</t d> 623 <td>Deoptimizations</td><td>{{ function['deoptimizations'] }}</t d>
624 </tr> 624 </tr>
625 </tbody> 625 </tbody>
626 </table> 626 </table>
627 </div> 627 </div>
628 </div> 628 </div>
629 </div> 629 </div>
630 </div> 630 </div>
631 </template> 631 </template>
632 632
633 </polymer-element> 633 </polymer-element>
634 <polymer-element name="script-ref" extends="service-ref"> 634 <polymer-element name="script-ref" extends="service-ref">
635 <template> 635 <template>
636 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> 636 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
637 </template> 637 </template>
638 638
639 </polymer-element> 639 </polymer-element>
640 <polymer-element name="isolate-summary" extends="observatory-element"> 640 <polymer-element name="isolate-summary" extends="observatory-element">
641 <template> 641 <template>
642 <div class="row"> 642 <div class="row">
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 <function-ref app="{{ app }}" isolate="{{ isolate }}" ref="{{ isolate. topFrame['function'] }}"></function-ref> 719 <function-ref app="{{ app }}" isolate="{{ isolate }}" ref="{{ isolate. topFrame['function'] }}"></function-ref>
720 (<script-ref app="{{ app }}" isolate="{{ isolate }}" ref="{{ isolate.t opFrame['script'] }}" line="{{ isolate.topFrame['line'] }}"></script-ref>) 720 (<script-ref app="{{ app }}" isolate="{{ isolate }}" ref="{{ isolate.t opFrame['script'] }}" line="{{ isolate.topFrame['line'] }}"></script-ref>)
721 <br> 721 <br>
722 <pre>{{ isolate.topFrame['line'] }} &nbsp; {{ isolate.topFrame['lineSt ring'] }}</pre> 722 <pre>{{ isolate.topFrame['line'] }} &nbsp; {{ isolate.topFrame['lineSt ring'] }}</pre>
723 </template> 723 </template>
724 </div> 724 </div>
725 <div class="col-md-3"> 725 <div class="col-md-3">
726 </div> 726 </div>
727 </div> 727 </div>
728 </template> 728 </template>
729 729
730 </polymer-element> 730 </polymer-element>
731 <polymer-element name="isolate-list" extends="observatory-element"> 731 <polymer-element name="isolate-list" extends="observatory-element">
732 <template> 732 <template>
733 <nav-bar> 733 <nav-bar>
734 <top-nav-menu last="{{ true }}"></top-nav-menu> 734 <top-nav-menu last="{{ true }}"></top-nav-menu>
735 <!-- TODO(turnidge): Why doesn't "this.refresh" work? --> 735 <!-- TODO(turnidge): Why doesn't "this.refresh" work? -->
736 <nav-refresh callback="{{ refresh } }}"></nav-refresh> 736 <nav-refresh callback="{{ refresh } }}"></nav-refresh>
737 </nav-bar> 737 </nav-bar>
738 <ul class="list-group"> 738 <ul class="list-group">
739 <template repeat="{{ isolate in app.isolateManager.isolates.values }}"> 739 <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
740 <li class="list-group-item"> 740 <li class="list-group-item">
741 <isolate-summary app="{{ app }}" isolate="{{ isolate }}"></isolate-summa ry> 741 <isolate-summary app="{{ app }}" isolate="{{ isolate }}"></isolate-summa ry>
742 </li> 742 </li>
743 </template> 743 </template>
744 </ul> 744 </ul>
745 (<a href="{{ app.locationManager.absoluteLink('cpu') }}">cpu</a>) 745 (<a href="{{ app.locationManager.absoluteLink('cpu') }}">cpu</a>)
746 </template> 746 </template>
747 747
748 </polymer-element> 748 </polymer-element>
749 <polymer-element name="instance-view" extends="observatory-element"> 749 <polymer-element name="instance-view" extends="observatory-element">
750 <template> 750 <template>
751 <nav-bar> 751 <nav-bar>
752 <top-nav-menu></top-nav-menu> 752 <top-nav-menu></top-nav-menu>
753 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 753 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
754 </isolate-nav-menu> 754 </isolate-nav-menu>
755 <!-- TODO(turnidge): Add library nav menu here. --> 755 <!-- TODO(turnidge): Add library nav menu here. -->
756 <class-nav-menu app="{{ app }}" cls="{{ instance['class'] }}"></class-nav- menu> 756 <class-nav-menu app="{{ app }}" cls="{{ instance['class'] }}"></class-nav- menu>
757 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> 757 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu>
(...skipping 27 matching lines...) Expand all
785 </table> 785 </table>
786 </template> 786 </template>
787 <template if="{{ instance['error'] != null }}"> 787 <template if="{{ instance['error'] != null }}">
788 <error-view error_obj="{{ instance['error'] }}"></error-view> 788 <error-view error_obj="{{ instance['error'] }}"></error-view>
789 </template> 789 </template>
790 </div> 790 </div>
791 </div> 791 </div>
792 </div> 792 </div>
793 </div> 793 </div>
794 </template> 794 </template>
795 795
796 </polymer-element> 796 </polymer-element>
797 <polymer-element name="json-view" extends="observatory-element"> 797 <polymer-element name="json-view" extends="observatory-element">
798 <template> 798 <template>
799 <template bind="" if="{{ valueType == 'Primitive' }}"> 799 <template bind="" if="{{ valueType == 'Primitive' }}">
800 <span>{{primitiveString}}</span> 800 <span>{{primitiveString}}</span>
801 </template> 801 </template>
802 <template bind="" if="{{ valueType == 'List' }}"> 802 <template bind="" if="{{ valueType == 'List' }}">
803 <table class="table table-condensed table-bordered"> 803 <table class="table table-condensed table-bordered">
804 <caption class="text-left">List, {{list.length}}</caption> 804 <caption class="text-left">List, {{list.length}}</caption>
805 <tbody> 805 <tbody>
806 <tr template="" repeat="{{item in list)}}"> 806 <tr template="" repeat="{{item in list)}}">
807 <th>{{counter}}</th> 807 <th>{{counter}}</th>
808 <td><json-view json="{{item}}"></json-view></td> 808 <td><json-view json="{{item}}"></json-view></td>
809 </tr> 809 </tr>
810 </tbody> 810 </tbody>
811 </table> 811 </table>
812 </template> 812 </template>
813 <template if="{{ valueType == 'Map' }}"> 813 <template if="{{ valueType == 'Map' }}">
814 <table class="table table-condensed table-bordered"> 814 <table class="table table-condensed table-bordered">
815 <caption class="text-left">Map, {{keys.length}}</caption> 815 <caption class="text-left">Map, {{keys.length}}</caption>
816 <tbody> 816 <tbody>
817 <tr template="" repeat="{{key in keys}}"> 817 <tr template="" repeat="{{key in keys}}">
818 <th>{{key}}</th> 818 <th>{{key}}</th>
819 <td><json-view json="{{value(key)}}"></json-view></td> 819 <td><json-view json="{{value(key)}}"></json-view></td>
820 </tr> 820 </tr>
821 </tbody> 821 </tbody>
822 </table> 822 </table>
823 </template> 823 </template>
824 </template> 824 </template>
825 825
826 </polymer-element> 826 </polymer-element>
827 <polymer-element name="library-view" extends="observatory-element"> 827 <polymer-element name="library-view" extends="observatory-element">
828 <template> 828 <template>
829 <nav-bar> 829 <nav-bar>
830 <top-nav-menu></top-nav-menu> 830 <top-nav-menu></top-nav-menu>
831 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 831 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
832 </isolate-nav-menu> 832 </isolate-nav-menu>
833 <library-nav-menu app="{{ app }}" library="{{ library }}" last="{{ true }} "></library-nav-menu> 833 <library-nav-menu app="{{ app }}" library="{{ library }}" last="{{ true }} "></library-nav-menu>
834 <nav-refresh callback="{{ refresh }}"></nav-refresh> 834 <nav-refresh callback="{{ refresh }}"></nav-refresh>
835 </nav-bar> 835 </nav-bar>
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 <class-ref app="{{ app }}" ref="{{ cls }}"></class-ref> 890 <class-ref app="{{ app }}" ref="{{ cls }}"></class-ref>
891 </td> 891 </td>
892 <td> 892 <td>
893 <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref> 893 <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref>
894 </td> 894 </td>
895 </tr> 895 </tr>
896 </tbody> 896 </tbody>
897 </table> 897 </table>
898 898
899 </template> 899 </template>
900 900
901 </polymer-element> 901 </polymer-element>
902 <polymer-element name="heap-profile" extends="observatory-element"> 902 <polymer-element name="heap-profile" extends="observatory-element">
903 <template> 903 <template>
904 <nav-bar> 904 <nav-bar>
905 <top-nav-menu></top-nav-menu> 905 <top-nav-menu></top-nav-menu>
906 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentIso late() }}"> 906 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentIso late() }}">
907 </isolate-nav-menu> 907 </isolate-nav-menu>
908 <nav-menu link="." anchor="heap profile" last="{{ true }}"></nav-menu> 908 <nav-menu link="." anchor="heap profile" last="{{ true }}"></nav-menu>
909 <nav-refresh callback="{{ refresh }}"></nav-refresh> 909 <nav-refresh callback="{{ refresh }}"></nav-refresh>
910 </nav-bar> 910 </nav-bar>
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1027 </tr> 1027 </tr>
1028 </tbody></table> 1028 </tbody></table>
1029 </curly-block> 1029 </curly-block>
1030 1030
1031 </div> 1031 </div>
1032 <div class="col-md-1"></div> 1032 <div class="col-md-1"></div>
1033 </div> 1033 </div>
1034 1034
1035 1035
1036 </template> 1036 </template>
1037 1037
1038 </polymer-element> 1038 </polymer-element>
1039 <polymer-element name="stack-trace" extends="observatory-element"> 1039 <polymer-element name="stack-trace" extends="observatory-element">
1040 <template> 1040 <template>
1041 <nav-bar> 1041 <nav-bar>
1042 <top-nav-menu></top-nav-menu> 1042 <top-nav-menu></top-nav-menu>
1043 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 1043 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
1044 </isolate-nav-menu> 1044 </isolate-nav-menu>
1045 <nav-menu link="." anchor="stack trace" last="{{ true }}"></nav-menu> 1045 <nav-menu link="." anchor="stack trace" last="{{ true }}"></nav-menu>
1046 <nav-refresh callback="{{ refresh }}"></nav-refresh> 1046 <nav-refresh callback="{{ refresh }}"></nav-refresh>
1047 </nav-bar> 1047 </nav-bar>
1048 1048
1049 <template if="{{ trace['members'].isEmpty }}"> 1049 <template if="{{ trace['members'].isEmpty }}">
1050 <div class="col-md-1"></div> 1050 <div class="col-md-1"></div>
1051 <div class="col-md-11"> 1051 <div class="col-md-11">
1052 <em>No stack</em> 1052 <em>No stack</em>
1053 </div> 1053 </div>
1054 </template> 1054 </template>
1055 <template if="{{ trace['members'].isNotEmpty }}"> 1055 <template if="{{ trace['members'].isNotEmpty }}">
1056 <ul class="list-group"> 1056 <ul class="list-group">
1057 <template repeat="{{ frame in trace['members'] }}"> 1057 <template repeat="{{ frame in trace['members'] }}">
1058 <li class="list-group-item"> 1058 <li class="list-group-item">
1059 <stack-frame app="{{ app }}" frame="{{ frame }}"></stack-frame> 1059 <stack-frame app="{{ app }}" frame="{{ frame }}"></stack-frame>
1060 </li> 1060 </li>
1061 </template> 1061 </template>
1062 </ul> 1062 </ul>
1063 </template> 1063 </template>
1064 </template> 1064 </template>
1065 1065
1066 </polymer-element> 1066 </polymer-element>
1067 <polymer-element name="message-viewer" extends="observatory-element"> 1067 <polymer-element name="message-viewer" extends="observatory-element">
1068 <!-- 1068 <!--
1069 This is a big switch statement which instantiates the custom element 1069 This is a big switch statement which instantiates the custom element
1070 designated to display the message type. 1070 designated to display the message type.
1071 --> 1071 -->
1072 <template> 1072 <template>
1073 <!-- If the message type is an IsolateList --> 1073 <!-- If the message type is an IsolateList -->
1074 <template if="{{ messageType == 'IsolateList' }}"> 1074 <template if="{{ messageType == 'IsolateList' }}">
1075 <isolate-list app="{{ app }}"></isolate-list> 1075 <isolate-list app="{{ app }}"></isolate-list>
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 <script-view app="{{ app }}" script="{{ message['script'] }}"></script-vie w> 1124 <script-view app="{{ app }}" script="{{ message['script'] }}"></script-vie w>
1125 </template> 1125 </template>
1126 <template if="{{ messageType == 'AllocationProfile' }}"> 1126 <template if="{{ messageType == 'AllocationProfile' }}">
1127 <heap-profile app="{{ app }}" profile="{{ message }}"></heap-profile> 1127 <heap-profile app="{{ app }}" profile="{{ message }}"></heap-profile>
1128 </template> 1128 </template>
1129 <template if="{{ messageType == 'CPU' }}"> 1129 <template if="{{ messageType == 'CPU' }}">
1130 <json-view json="{{ message }}"></json-view> 1130 <json-view json="{{ message }}"></json-view>
1131 </template> 1131 </template>
1132 <!-- Add new views and message types in the future here. --> 1132 <!-- Add new views and message types in the future here. -->
1133 </template> 1133 </template>
1134 1134
1135 </polymer-element> 1135 </polymer-element>
1136 <polymer-element name="isolate-profile" extends="observatory-element"> 1136 <polymer-element name="isolate-profile" extends="observatory-element">
1137 <template> 1137 <template>
1138 <nav-bar> 1138 <nav-bar>
1139 <top-nav-menu></top-nav-menu> 1139 <top-nav-menu></top-nav-menu>
1140 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}"> 1140 <isolate-nav-menu app="{{ app }}" isolate="{{ app.locationManager.currentI solate() }}">
1141 </isolate-nav-menu> 1141 </isolate-nav-menu>
1142 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu> 1142 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu>
1143 <nav-refresh callback="{{ refresh }}"></nav-refresh> 1143 <nav-refresh callback="{{ refresh }}"></nav-refresh>
1144 </nav-bar> 1144 </nav-bar>
(...skipping 19 matching lines...) Expand all
1164 <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style="{ { padding(row) }}"> 1164 <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style="{ { padding(row) }}">
1165 <code-ref app="{{ app }}" ref="{{ row.code.codeRef }}"></code-ref> 1165 <code-ref app="{{ app }}" ref="{{ row.code.codeRef }}"></code-ref>
1166 </td> 1166 </td>
1167 <td class="{{ coloring(row) }}">{{row.columns[0]}}</td> 1167 <td class="{{ coloring(row) }}">{{row.columns[0]}}</td>
1168 <td class="{{ coloring(row) }}">{{row.columns[1]}}</td> 1168 <td class="{{ coloring(row) }}">{{row.columns[1]}}</td>
1169 <td class="{{ coloring(row) }}">{{row.columns[2]}}</td> 1169 <td class="{{ coloring(row) }}">{{row.columns[2]}}</td>
1170 </tr> 1170 </tr>
1171 </tbody> 1171 </tbody>
1172 </table> 1172 </table>
1173 </template> 1173 </template>
1174 1174
1175 </polymer-element> 1175 </polymer-element>
1176 <polymer-element name="response-viewer" extends="observatory-element"> 1176 <polymer-element name="response-viewer" extends="observatory-element">
1177 <template> 1177 <template>
1178 <template repeat="{{ message in app.requestManager.responses }}"> 1178 <message-viewer app="{{ app }}" message="{{ app.response }}"></message-viewe r>
1179 <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer>
1180 </template>
1181 </template> 1179 </template>
1182 1180
1183 </polymer-element><polymer-element name="observatory-application" extends="obser vatory-element"> 1181 </polymer-element><polymer-element name="observatory-application" extends="obser vatory-element">
1184 <template> 1182 <template>
1185 <template if="{{ app.locationManager.profile }}"> 1183 <template if="{{ app.locationManager.profile }}">
1186 <isolate-profile app="{{ app }}"></isolate-profile> 1184 <isolate-profile app="{{ app }}"></isolate-profile>
1187 </template> 1185 </template>
1188 <template if="{{ app.locationManager.profile == false }}"> 1186 <template if="{{ app.locationManager.profile == false }}">
1189 <response-viewer app="{{ app }}"></response-viewer> 1187 <response-viewer app="{{ app }}"></response-viewer>
1190 </template> 1188 </template>
1191 </template> 1189 </template>
1192 1190
1193 </polymer-element> 1191 </polymer-element>
1194 1192
1195 1193
1196 <observatory-application></observatory-application> 1194 <observatory-application></observatory-application>
1197 1195
1198 </body></html> 1196 </body></html>
OLDNEW
« no previous file with comments | « runtime/bin/vmservice/client/build_.dart ('k') | runtime/bin/vmservice/client/lib/app.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698