| OLD | NEW |
| 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 Loading... |
| 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' && !ref['f
inal'] && !ref['const']) }}"> | 255 <template if="{{ (ref['declared_type']['name'] == 'dynamic' && !ref['f
inal'] && !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 Loading... |
| 296 | 296 |
| 297 <template if="{{ !expanded }}"> | 297 <template if="{{ !expanded }}"> |
| 298 <template if="{{ busy }}"> | 298 <template if="{{ busy }}"> |
| 299 {<div class="busy"> ⊞ </div>} | 299 {<div class="busy"> ⊞ </div>} |
| 300 </template> | 300 </template> |
| 301 <template if="{{ !busy }}"> | 301 <template if="{{ !busy }}"> |
| 302 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ &
nbsp;</div></a>} | 302 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ &
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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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'] }} {{ isolate.topFrame['lineSt
ring'] }}</pre> | 722 <pre>{{ isolate.topFrame['line'] }} {{ 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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> |
| OLD | NEW |