| OLD | NEW |
| 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 | 3 |
| 4 <meta charset="utf-8"> | 4 <meta charset="utf-8"> |
| 5 <title>Dart VM Observatory</title> | 5 <title>Dart VM Observatory</title> |
| 6 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> | 6 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> |
| 7 <script type="text/javascript" src="https://www.google.com/jsapi"></script> | 7 <script type="text/javascript" src="https://www.google.com/jsapi"></script> |
| 8 <script src="packages/browser/interop.js"></script> | 8 <script src="packages/browser/interop.js"></script> |
| 9 | 9 |
| 10 <script type="application/dart" src="index.html_bootstrap.dart"></script> | 10 <script src="index.html_bootstrap.dart.js"></script> |
| 11 <script src="packages/browser/dart.js"></script> | 11 |
| 12 </head> | 12 </head> |
| 13 <body><polymer-element name="observatory-element"> | 13 <body><polymer-element name="observatory-element"> |
| 14 | 14 |
| 15 </polymer-element> | 15 </polymer-element> |
| 16 <polymer-element name="nav-bar" extends="observatory-element"> | 16 <polymer-element name="nav-bar" extends="observatory-element"> |
| 17 <template> | 17 <template> |
| 18 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 18 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 19 <style> | 19 <style> |
| 20 nav { |
| 21 position: fixed; |
| 22 width: 100%; |
| 23 z-index: 1000; |
| 24 } |
| 20 nav ul { | 25 nav ul { |
| 21 display: inline-table; | 26 display: inline-table; |
| 22 position: relative; | 27 position: relative; |
| 23 list-style: none; | 28 list-style: none; |
| 24 padding-left: 0; | 29 padding-left: 0; |
| 25 margin-left: 0; | 30 margin-left: 0; |
| 26 width: 100%; | 31 width: 100%; |
| 27 z-index: 10; | 32 z-index: 1000; |
| 28 font: 400 16px 'Montserrat', sans-serif; | 33 font: 400 16px 'Montserrat', sans-serif; |
| 29 color: white; | 34 color: white; |
| 30 background-color: #0489c3; | 35 background-color: #0489c3; |
| 31 } | 36 } |
| 32 nav ul:after { | 37 nav ul:after { |
| 33 content: ""; clear: both; display: block; | 38 content: ""; clear: both; display: block; |
| 34 } | 39 } |
| 40 .vertical-spacer { |
| 41 height: 40px; |
| 42 background-color: #0489c3; |
| 43 } |
| 35 </style> | 44 </style> |
| 36 <nav> | 45 <nav> |
| 37 <ul> | 46 <ul> |
| 38 <content></content> | 47 <content></content> |
| 39 </ul> | 48 </ul> |
| 40 </nav> | 49 </nav> |
| 41 <br> | 50 <div class="vertical-spacer"> |
| 51 </div> |
| 52 <template if="{{ pad }}"> |
| 53 <br> |
| 54 </template> |
| 42 </template> | 55 </template> |
| 43 </polymer-element> | 56 </polymer-element> |
| 44 | 57 |
| 45 <polymer-element name="nav-menu" extends="observatory-element"> | 58 <polymer-element name="nav-menu" extends="observatory-element"> |
| 46 <template> | 59 <template> |
| 47 <style> | 60 <style> |
| 48 .menu, .spacer { | 61 .menu, .spacer { |
| 49 float: left; | 62 float: left; |
| 50 } | 63 } |
| 51 .menu a, .spacer { | 64 .menu a, .spacer { |
| 52 display: block; | 65 display: block; |
| 53 padding: 12px 8px; | 66 padding: 12px 8px; |
| 54 color: White; | 67 color: White; |
| 55 text-decoration: none; | 68 text-decoration: none; |
| 56 } | 69 } |
| 57 .menu:hover { | 70 .menu:hover { |
| 58 background: #455; | 71 background: #455; |
| 59 } | 72 } |
| 60 .menu ul { | 73 .menu ul { |
| 61 display: none; | 74 display: none; |
| 62 position: absolute; | 75 position: absolute; |
| 63 top: 98%; | 76 top: 98%; |
| 64 list-style: none; | 77 list-style: none; |
| 65 margin: 0; | 78 margin: 0; |
| 66 padding: 0; | 79 padding: 0; |
| 67 width: auto; | 80 width: auto; |
| 68 z-index: 10; | 81 z-index: 1000; |
| 69 font: 400 16px 'Montserrat', sans-serif; | 82 font: 400 16px 'Montserrat', sans-serif; |
| 70 color: white; | 83 color: white; |
| 71 background: #567; | 84 background: #567; |
| 72 } | 85 } |
| 73 .menu ul:after { | 86 .menu ul:after { |
| 74 content: ""; clear: both; display: block; | 87 content: ""; clear: both; display: block; |
| 75 } | 88 } |
| 76 .menu:hover > ul { | 89 .menu:hover > ul { |
| 77 display: block; | 90 display: block; |
| 78 } | 91 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 101 } | 114 } |
| 102 li ul { | 115 li ul { |
| 103 display: none; | 116 display: none; |
| 104 position: absolute; | 117 position: absolute; |
| 105 top:0; | 118 top:0; |
| 106 left: 100%; | 119 left: 100%; |
| 107 list-style: none; | 120 list-style: none; |
| 108 padding: 0; | 121 padding: 0; |
| 109 margin-left: 0; | 122 margin-left: 0; |
| 110 width: auto; | 123 width: auto; |
| 111 z-index: 10; | 124 z-index: 1000; |
| 112 font: 400 16px 'Montserrat', sans-serif; | 125 font: 400 16px 'Montserrat', sans-serif; |
| 113 color: white; | 126 color: white; |
| 114 background: #567; | 127 background: #567; |
| 115 } | 128 } |
| 116 li ul:after { | 129 li ul:after { |
| 117 content: ""; clear: both; display: block; | 130 content: ""; clear: both; display: block; |
| 118 } | 131 } |
| 119 li:hover > ul { | 132 li:hover > ul { |
| 120 display: block; | 133 display: block; |
| 121 } | 134 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 <polymer-element name="top-nav-menu"> | 178 <polymer-element name="top-nav-menu"> |
| 166 <template> | 179 <template> |
| 167 <nav-menu link="#/vm" anchor="Observatory" last="{{ last }}"> | 180 <nav-menu link="#/vm" anchor="Observatory" last="{{ last }}"> |
| 168 <content></content> | 181 <content></content> |
| 169 </nav-menu> | 182 </nav-menu> |
| 170 </template> | 183 </template> |
| 171 </polymer-element> | 184 </polymer-element> |
| 172 | 185 |
| 173 <polymer-element name="isolate-nav-menu" extends="observatory-element"> | 186 <polymer-element name="isolate-nav-menu" extends="observatory-element"> |
| 174 <template> | 187 <template> |
| 175 <nav-menu link="{{ isolate.hashLink }}" anchor="{{ isolate.name }}" last="{{
last }}"> | 188 <nav-menu link="{{ hashLinkWorkaround }}" anchor="{{ isolate.name }}" last="
{{ last }}"> |
| 176 <nav-menu-item link="{{ isolate.relativeHashLink('stacktrace') }}" anchor=
"stack trace"></nav-menu-item> | 189 <nav-menu-item link="{{ isolate.relativeHashLink('stacktrace') }}" anchor=
"stack trace"></nav-menu-item> |
| 177 <nav-menu-item link="{{ isolate.relativeHashLink('profile') }}" anchor="cp
u profile"></nav-menu-item> | 190 <nav-menu-item link="{{ isolate.relativeHashLink('profile') }}" anchor="cp
u profile"></nav-menu-item> |
| 178 <nav-menu-item link="{{ isolate.relativeHashLink('allocationprofile') }}"
anchor="allocation profile"></nav-menu-item> | 191 <nav-menu-item link="{{ isolate.relativeHashLink('allocationprofile') }}"
anchor="allocation profile"></nav-menu-item> |
| 179 <nav-menu-item link="{{ isolate.relativeHashLink('heapmap') }}" anchor="he
ap map"></nav-menu-item> | 192 <nav-menu-item link="{{ isolate.relativeHashLink('heapmap') }}" anchor="he
ap map"></nav-menu-item> |
| 180 <nav-menu-item link="{{ isolate.relativeHashLink('debug/breakpoints') }}"
anchor="breakpoints"></nav-menu-item> | 193 <nav-menu-item link="{{ isolate.relativeHashLink('debug/breakpoints') }}"
anchor="breakpoints"></nav-menu-item> |
| 181 <content></content> | 194 <content></content> |
| 182 </nav-menu> | 195 </nav-menu> |
| 183 </template> | 196 </template> |
| 184 </polymer-element> | 197 </polymer-element> |
| 185 | 198 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 199 </template> | 212 </template> |
| 200 </polymer-element> | 213 </polymer-element> |
| 201 | 214 |
| 202 | 215 |
| 203 <polymer-element name="breakpoint-list" extends="observatory-element"> | 216 <polymer-element name="breakpoint-list" extends="observatory-element"> |
| 204 <template> | 217 <template> |
| 205 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 218 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 206 <nav-bar> | 219 <nav-bar> |
| 207 <top-nav-menu></top-nav-menu> | 220 <top-nav-menu></top-nav-menu> |
| 208 <isolate-nav-menu isolate="{{ msg.isolate }}"></isolate-nav-menu> | 221 <isolate-nav-menu isolate="{{ msg.isolate }}"></isolate-nav-menu> |
| 209 <nav-menu link="." anchor="breakpoints" last="{{ true }}"></nav-menu> | 222 <nav-menu link="{{ msg.isolate.relativeHashLink('debug/breakpoints') }}" a
nchor="breakpoints" last="{{ true }}"></nav-menu> |
| 210 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 223 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 211 </nav-bar> | 224 </nav-bar> |
| 212 <template if="{{ msg['breakpoints'].isEmpty }}"> | 225 <template if="{{ msg['breakpoints'].isEmpty }}"> |
| 213 <div> | 226 <div> |
| 214 <div>No breakpoints</div> | 227 <div>No breakpoints</div> |
| 215 </div> | 228 </div> |
| 216 </template> | 229 </template> |
| 217 <template if="{{ msg['breakpoints'].isNotEmpty }}"> | 230 <template if="{{ msg['breakpoints'].isNotEmpty }}"> |
| 218 <ul class="list-group"> | 231 <ul class="list-group"> |
| 219 <template repeat="{{ bpt in msg['breakpoints'] }}"> | 232 <template repeat="{{ bpt in msg['breakpoints'] }}"> |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 <template if="{{ cls['error'] != null }}"> | 587 <template if="{{ cls['error'] != null }}"> |
| 575 <!-- TODO(turnidge): Don't use instance-ref for error display here --> | 588 <!-- TODO(turnidge): Don't use instance-ref for error display here --> |
| 576 <instance-ref ref="{{ cls['error'] }}"></instance-ref> | 589 <instance-ref ref="{{ cls['error'] }}"></instance-ref> |
| 577 </template> | 590 </template> |
| 578 | 591 |
| 579 <hr> | 592 <hr> |
| 580 | 593 |
| 581 <div class="content"> | 594 <div class="content"> |
| 582 <template if="{{ cls['fields'].isNotEmpty }}"> | 595 <template if="{{ cls['fields'].isNotEmpty }}"> |
| 583 fields ({{ cls['fields'].length }}) | 596 fields ({{ cls['fields'].length }}) |
| 584 <curly-block> | 597 <curly-block expand="{{ cls['fields'].length <= 8 }}"> |
| 585 <div class="memberList"> | 598 <div class="memberList"> |
| 586 <template repeat="{{ field in cls['fields'] }}"> | 599 <template repeat="{{ field in cls['fields'] }}"> |
| 587 <div class="memberItem"> | 600 <div class="memberItem"> |
| 588 <div class="memberName"> | 601 <div class="memberName"> |
| 589 <field-ref ref="{{ field }}"></field-ref> | 602 <field-ref ref="{{ field }}"></field-ref> |
| 590 </div> | 603 </div> |
| 591 <div class="memberValue"> | 604 <div class="memberValue"> |
| 592 <template if="{{ field['value'] != null }}"> | 605 <template if="{{ field['value'] != null }}"> |
| 593 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 606 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 594 </template> | 607 </template> |
| 595 </div> | 608 </div> |
| 596 </div> | 609 </div> |
| 597 </template> | 610 </template> |
| 598 </div> | 611 </div> |
| 599 </curly-block><br> | 612 </curly-block><br><br> |
| 600 </template> | 613 </template> |
| 601 | 614 |
| 602 <template if="{{ cls['functions'].isNotEmpty }}"> | 615 <template if="{{ cls['functions'].isNotEmpty }}"> |
| 603 functions ({{ cls['functions'].length }}) | 616 functions ({{ cls['functions'].length }}) |
| 604 <curly-block> | 617 <curly-block expand="{{ cls['functions'].length <= 8 }}"> |
| 605 <div class="memberList"> | 618 <div class="memberList"> |
| 606 <template repeat="{{ function in cls['functions'] }}"> | 619 <template repeat="{{ function in cls['functions'] }}"> |
| 607 <div class="memberItem"> | 620 <div class="memberItem"> |
| 608 <div class="memberValue"> | 621 <div class="memberValue"> |
| 609 <function-ref ref="{{ function }}" qualified="{{ false }}"> | 622 <function-ref ref="{{ function }}" qualified="{{ false }}"> |
| 610 </function-ref> | 623 </function-ref> |
| 611 </div> | 624 </div> |
| 612 </div> | 625 </div> |
| 613 </template> | 626 </template> |
| 614 </div> | 627 </div> |
| 615 </curly-block><br> | 628 </curly-block><br><br> |
| 616 </template> | 629 </template> |
| 617 </div> | 630 </div> |
| 618 | 631 |
| 619 <hr> | 632 <hr> |
| 620 | 633 |
| 621 <div class="content"> | 634 <div class="content"> |
| 622 <eval-box callback="{{ eval }}"></eval-box> | 635 <eval-box callback="{{ eval }}"></eval-box> |
| 623 </div> | 636 </div> |
| 624 <br><br><br><br> | 637 <br><br><br><br> |
| 625 <br><br><br><br> | 638 <br><br><br><br> |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 798 </div> | 811 </div> |
| 799 </div> | 812 </div> |
| 800 </template> | 813 </template> |
| 801 | 814 |
| 802 </polymer-element><polymer-element name="error-view" extends="observatory-elemen
t"> | 815 </polymer-element><polymer-element name="error-view" extends="observatory-elemen
t"> |
| 803 <template> | 816 <template> |
| 804 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 817 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 805 <nav-bar> | 818 <nav-bar> |
| 806 <top-nav-menu last="{{ true }}"></top-nav-menu> | 819 <top-nav-menu last="{{ true }}"></top-nav-menu> |
| 807 </nav-bar> | 820 </nav-bar> |
| 808 <div class="content"> | 821 <div class="content-centered"> |
| 809 <h1>{{ error.kind }}</h1> | 822 <h1>{{ error.kind }}</h1> |
| 810 <div class="well">{{ error.message }}</div> | 823 <br> |
| 824 <div class="well">{{ error.message }}</div> |
| 811 </div> | 825 </div> |
| 812 </template> | 826 </template> |
| 813 | 827 |
| 814 </polymer-element> | 828 </polymer-element> |
| 815 <polymer-element name="eval-link"> | 829 <polymer-element name="eval-link"> |
| 816 <template> | 830 <template> |
| 817 <style> | 831 <style> |
| 818 .idle { | 832 .idle { |
| 819 color: #0489c3; | 833 color: #0489c3; |
| 820 cursor: pointer; | 834 cursor: pointer; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 844 <nav-bar> | 858 <nav-bar> |
| 845 <top-nav-menu></top-nav-menu> | 859 <top-nav-menu></top-nav-menu> |
| 846 <isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu> | 860 <isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu> |
| 847 <template if="{{ field['owner'].serviceType == 'Class' }}"> | 861 <template if="{{ field['owner'].serviceType == 'Class' }}"> |
| 848 <!-- TODO(turnidge): Add library nav menu here. --> | 862 <!-- TODO(turnidge): Add library nav menu here. --> |
| 849 <class-nav-menu cls="{{ field['owner'] }}"></class-nav-menu> | 863 <class-nav-menu cls="{{ field['owner'] }}"></class-nav-menu> |
| 850 </template> | 864 </template> |
| 851 <template if="{{ field['owner'].serviceType == 'Library' }}"> | 865 <template if="{{ field['owner'].serviceType == 'Library' }}"> |
| 852 <library-nav-menu library="{{ field['owner'] }}"></library-nav-menu> | 866 <library-nav-menu library="{{ field['owner'] }}"></library-nav-menu> |
| 853 </template> | 867 </template> |
| 854 <nav-menu link="." anchor="{{ field['user_name'] }}" last="{{ true }}"></n
av-menu> | 868 <nav-menu link="{{ field.hashLink }}" anchor="{{ field['user_name'] }}" la
st="{{ true }}"></nav-menu> |
| 855 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 869 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 856 </nav-bar> | 870 </nav-bar> |
| 857 | 871 |
| 858 <div class="content"> | 872 <div class="content"> |
| 859 <h1> | 873 <h1> |
| 860 <template if="{{ field['static'] }}">static</template> | 874 <template if="{{ field['static'] }}">static</template> |
| 861 <template if="{{ field['final'] }}">final</template> | 875 <template if="{{ field['final'] }}">final</template> |
| 862 <template if="{{ field['const'] }}">const</template> | 876 <template if="{{ field['const'] }}">const</template> |
| 863 <template if="{{ (field['declared_type']['name'] == 'dynamic' && | 877 <template if="{{ (field['declared_type']['name'] == 'dynamic' && |
| 864 !field['final'] && !field['const']) }}"> | 878 !field['final'] && !field['const']) }}"> |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 974 <nav-bar> | 988 <nav-bar> |
| 975 <top-nav-menu></top-nav-menu> | 989 <top-nav-menu></top-nav-menu> |
| 976 <isolate-nav-menu isolate="{{ function.isolate }}"></isolate-nav-menu> | 990 <isolate-nav-menu isolate="{{ function.isolate }}"></isolate-nav-menu> |
| 977 <template if="{{ function['owner'].serviceType == 'Class' }}"> | 991 <template if="{{ function['owner'].serviceType == 'Class' }}"> |
| 978 <!-- TODO(turnidge): Add library nav menu here. --> | 992 <!-- TODO(turnidge): Add library nav menu here. --> |
| 979 <class-nav-menu cls="{{ function['owner'] }}"></class-nav-menu> | 993 <class-nav-menu cls="{{ function['owner'] }}"></class-nav-menu> |
| 980 </template> | 994 </template> |
| 981 <template if="{{ function['owner'].serviceType == 'Library' }}"> | 995 <template if="{{ function['owner'].serviceType == 'Library' }}"> |
| 982 <library-nav-menu library="{{ function['owner'] }}"></library-nav-menu> | 996 <library-nav-menu library="{{ function['owner'] }}"></library-nav-menu> |
| 983 </template> | 997 </template> |
| 984 <nav-menu link="." anchor="{{ function.name }}" last="{{ true }}"></nav-me
nu> | 998 <nav-menu link="{{ function.hashLink }}" anchor="{{ function.name }}" last
="{{ true }}"></nav-menu> |
| 985 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 999 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 986 </nav-bar> | 1000 </nav-bar> |
| 987 | 1001 |
| 988 <div class="content"> | 1002 <div class="content"> |
| 989 <h1>function {{ qualifiedName }}</h1> | 1003 <h1>function {{ qualifiedName }}</h1> |
| 990 | 1004 |
| 991 <div class="memberList"> | 1005 <div class="memberList"> |
| 992 <div class="memberItem"> | 1006 <div class="memberItem"> |
| 993 <div class="memberName">kind</div> | 1007 <div class="memberName">kind</div> |
| 994 <div class="memberValue"> | 1008 <div class="memberValue"> |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 </template> | 1090 </template> |
| 1077 | 1091 |
| 1078 </polymer-element> | 1092 </polymer-element> |
| 1079 <polymer-element name="heap-map" extends="observatory-element"> | 1093 <polymer-element name="heap-map" extends="observatory-element"> |
| 1080 <template> | 1094 <template> |
| 1081 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> | 1095 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> |
| 1082 <style> | 1096 <style> |
| 1083 .hover { | 1097 .hover { |
| 1084 position: fixed; | 1098 position: fixed; |
| 1085 z-index: 999; | 1099 z-index: 999; |
| 1100 height: 16px; |
| 1086 width: 100%; | 1101 width: 100%; |
| 1087 background: #ffffff; | 1102 background: #ffffff; |
| 1088 } | 1103 } |
| 1104 .spacer { |
| 1105 height: 16px; |
| 1106 background-color: red; |
| 1107 } |
| 1089 </style> | 1108 </style> |
| 1090 <nav-bar> | 1109 <nav-bar pad="{{ false }}"> |
| 1091 <top-nav-menu></top-nav-menu> | 1110 <top-nav-menu></top-nav-menu> |
| 1092 <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu> | 1111 <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu> |
| 1093 <nav-menu link="." anchor="heap map" last="{{ true }}"></nav-menu> | 1112 <nav-menu link="{{ fragmentation.isolate.relativeHashLink('heapmap') }}" anc
hor="heap map" last="{{ true }}"></nav-menu> |
| 1094 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 1113 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 1095 </nav-bar> | 1114 </nav-bar> |
| 1096 <div class="hover"> | 1115 <div class="hover"> |
| 1097 <p style="text-align:center">{{ status }}</p> | 1116 <p style="text-align:center">{{ status }}</p> |
| 1098 </div> | 1117 </div> |
| 1118 <div class="spacer"> |
| 1119 <!-- Make sure no data is covered by hover bar initially --> |
| 1120 </div> |
| 1099 <div class="flex-row"> | 1121 <div class="flex-row"> |
| 1100 <canvas id="fragmentation" width="1px" height="1px"></canvas> | 1122 <canvas id="fragmentation" width="1px" height="1px"></canvas> |
| 1101 </div> | 1123 </div> |
| 1102 </template> | 1124 </template> |
| 1103 | 1125 |
| 1104 </polymer-element> | 1126 </polymer-element> |
| 1105 <polymer-element name="isolate-ref" extends="service-ref"> | 1127 <polymer-element name="isolate-ref" extends="service-ref"> |
| 1106 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> | 1128 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> |
| 1107 <a href="{{ url }}">{{ ref.name }}</a> | 1129 <a href="{{ url }}">{{ ref.name }}</a> |
| 1108 </template> | 1130 </template> |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1343 </div> | 1365 </div> |
| 1344 </div> | 1366 </div> |
| 1345 | 1367 |
| 1346 </div> <!-- flex row --> | 1368 </div> <!-- flex row --> |
| 1347 </div> <!-- content --> | 1369 </div> <!-- content --> |
| 1348 | 1370 |
| 1349 <hr> | 1371 <hr> |
| 1350 | 1372 |
| 1351 <div class="content"> | 1373 <div class="content"> |
| 1352 libraries ({{ isolate.libraries.length }}) | 1374 libraries ({{ isolate.libraries.length }}) |
| 1353 <curly-block> | 1375 <curly-block expand="{{ isolate.libraries.length <= 8 }}"> |
| 1354 <div class="memberList"> | 1376 <div class="memberList"> |
| 1355 <template repeat="{{ lib in isolate.libraries }}"> | 1377 <template repeat="{{ lib in isolate.libraries }}"> |
| 1356 <div class="memberItem"> | 1378 <div class="memberItem"> |
| 1357 <div class="memberName"> | 1379 <div class="memberName"> |
| 1358 <library-ref ref="{{ lib }}"></library-ref> | 1380 <library-ref ref="{{ lib }}"></library-ref> |
| 1359 </div> | 1381 </div> |
| 1360 </div> | 1382 </div> |
| 1361 </template> | 1383 </template> |
| 1362 </div> | 1384 </div> |
| 1363 </curly-block> | 1385 </curly-block> |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1463 </div> | 1485 </div> |
| 1464 </div> | 1486 </div> |
| 1465 </div> | 1487 </div> |
| 1466 </div> | 1488 </div> |
| 1467 | 1489 |
| 1468 <hr> | 1490 <hr> |
| 1469 | 1491 |
| 1470 <div class="content"> | 1492 <div class="content"> |
| 1471 <template if="{{ instance['fields'].isNotEmpty }}"> | 1493 <template if="{{ instance['fields'].isNotEmpty }}"> |
| 1472 fields ({{ instance['fields'].length }}) | 1494 fields ({{ instance['fields'].length }}) |
| 1473 <curly-block> | 1495 <curly-block expand="{{ instance['fields'].length <= 8 }}"> |
| 1474 <div class="memberList"> | 1496 <div class="memberList"> |
| 1475 <template repeat="{{ field in instance['fields'] }}"> | 1497 <template repeat="{{ field in instance['fields'] }}"> |
| 1476 <div class="memberItem"> | 1498 <div class="memberItem"> |
| 1477 <div class="memberName"> | 1499 <div class="memberName"> |
| 1478 <field-ref ref="{{ field['decl'] }}"></field-ref> | 1500 <field-ref ref="{{ field['decl'] }}"></field-ref> |
| 1479 </div> | 1501 </div> |
| 1480 <div class="memberValue"> | 1502 <div class="memberValue"> |
| 1481 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 1503 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 1482 </div> | 1504 </div> |
| 1483 </div> | 1505 </div> |
| 1484 </template> | 1506 </template> |
| 1485 </div> | 1507 </div> |
| 1486 </curly-block> | 1508 </curly-block><br><br> |
| 1487 </template> | 1509 </template> |
| 1488 | 1510 |
| 1489 <template if="{{ instance['nativeFields'].isNotEmpty }}"> | 1511 <template if="{{ instance['nativeFields'].isNotEmpty }}"> |
| 1490 native fields ({{ instance['nativeFields'].length }}) | 1512 native fields ({{ instance['nativeFields'].length }}) |
| 1491 <curly-block> | 1513 <curly-block expand="{{ instance['nativeFields'].length <= 8 }}"> |
| 1492 <div class="memberList"> | 1514 <div class="memberList"> |
| 1493 <template repeat="{{ field in instance['nativeFields'] }}"> | 1515 <template repeat="{{ field in instance['nativeFields'] }}"> |
| 1494 <div class="memberItem"> | 1516 <div class="memberItem"> |
| 1495 <div class="memberName">[{{ field['index']}}]</div> | 1517 <div class="memberName">[{{ field['index']}}]</div> |
| 1496 <div class="memberValue">[{{ field['value']}}]</div> | 1518 <div class="memberValue">[{{ field['value']}}]</div> |
| 1497 </div> | 1519 </div> |
| 1498 </template> | 1520 </template> |
| 1499 </div> | 1521 </div> |
| 1500 </curly-block><br> | 1522 </curly-block><br><br> |
| 1501 </template> | 1523 </template> |
| 1502 | 1524 |
| 1503 <template if="{{ instance['elements'].isNotEmpty }}"> | 1525 <template if="{{ instance['elements'].isNotEmpty }}"> |
| 1504 elements ({{ instance['elements'].length }}) | 1526 elements ({{ instance['elements'].length }}) |
| 1505 <curly-block> | 1527 <curly-block expand="{{ instance['elements'].length <= 8 }}"> |
| 1506 <div class="memberList"> | 1528 <div class="memberList"> |
| 1507 <template repeat="{{ element in instance['elements'] }}"> | 1529 <template repeat="{{ element in instance['elements'] }}"> |
| 1508 <div class="memberItem"> | 1530 <div class="memberItem"> |
| 1509 <div class="memberName">[{{ element['index']}}]</div> | 1531 <div class="memberName">[{{ element['index']}}]</div> |
| 1510 <div class="memberValue"> | 1532 <div class="memberValue"> |
| 1511 <instance-ref ref="{{ element['value'] }}"> | 1533 <instance-ref ref="{{ element['value'] }}"> |
| 1512 </instance-ref> | 1534 </instance-ref> |
| 1513 </div> | 1535 </div> |
| 1514 </div> | 1536 </div> |
| 1515 </template> | 1537 </template> |
| 1516 </div> | 1538 </div> |
| 1517 </curly-block><br> | 1539 </curly-block><br><br> |
| 1518 </template> | 1540 </template> |
| 1519 </div> | 1541 </div> |
| 1520 | 1542 |
| 1521 <hr> | 1543 <hr> |
| 1522 | 1544 |
| 1523 <div class="content"> | 1545 <div class="content"> |
| 1524 <eval-box callback="{{ eval }}"></eval-box> | 1546 <eval-box callback="{{ eval }}"></eval-box> |
| 1525 </div> | 1547 </div> |
| 1526 <br><br><br><br> | 1548 <br><br><br><br> |
| 1527 <br><br><br><br> | 1549 <br><br><br><br> |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1550 </nav-bar> | 1572 </nav-bar> |
| 1551 | 1573 |
| 1552 <div class="content"> | 1574 <div class="content"> |
| 1553 <h1> | 1575 <h1> |
| 1554 <!-- TODO(turnidge): Handle unnamed libraries --> | 1576 <!-- TODO(turnidge): Handle unnamed libraries --> |
| 1555 library {{ library.name }} | 1577 library {{ library.name }} |
| 1556 </h1> | 1578 </h1> |
| 1557 <div class="memberList"> | 1579 <div class="memberList"> |
| 1558 <div class="memberItem"> | 1580 <div class="memberItem"> |
| 1559 <div class="memberName">url</div> | 1581 <div class="memberName">url</div> |
| 1560 <div class="memberValue">{{ library['url'] }}</div> | 1582 <div class="memberValue">{{ library.url }}</div> |
| 1561 </div> | 1583 </div> |
| 1562 <template if="{{ library['imports'].length > 0 }}"> | |
| 1563 <div class="memberItem"> | |
| 1564 <div class="memberName">imports</div> | |
| 1565 <div class="memberValue"> | |
| 1566 <template repeat="{{ import in library['imports'] }}"> | |
| 1567 <library-ref ref="{{ import }}"></library-ref> | |
| 1568 </template> | |
| 1569 </div> | |
| 1570 </div> | |
| 1571 </template> | |
| 1572 <template if="{{ library.name != library.vmName }}"> | 1584 <template if="{{ library.name != library.vmName }}"> |
| 1573 <div class="memberItem"> | 1585 <div class="memberItem"> |
| 1574 <div class="memberName">vm name</div> | 1586 <div class="memberName">vm name</div> |
| 1575 <div class="memberValue">{{ library.vmName }}</div> | 1587 <div class="memberValue">{{ library.vmName }}</div> |
| 1576 </div> | 1588 </div> |
| 1577 </template> | 1589 </template> |
| 1578 </div> | 1590 </div> |
| 1579 </div> | 1591 </div> |
| 1580 | 1592 |
| 1581 <hr> | 1593 <hr> |
| 1582 | 1594 |
| 1583 <div class="content"> | 1595 <div class="content"> |
| 1584 <template if="{{ library['scripts'].isNotEmpty }}"> | 1596 <template if="{{ library.imports.isNotEmpty }}"> |
| 1585 scripts ({{ library['scripts'].length }}) | 1597 imports ({{ library.imports.length }}) |
| 1586 <curly-block> | 1598 <curly-block expand="{{ library.imports.length <= 8 }}"> |
| 1587 <div class="memberList"> | 1599 <div class="memberList"> |
| 1588 <template repeat="{{ script in library['scripts'] }}"> | 1600 <template repeat="{{ imp in library.imports }}"> |
| 1601 <div class="memberItem"> |
| 1602 <div class="memberValue"> |
| 1603 <library-ref ref="{{ imp }}"></library-ref> |
| 1604 </div> |
| 1605 </div> |
| 1606 </template> |
| 1607 </div> |
| 1608 </curly-block><br> |
| 1609 <br> |
| 1610 </template> |
| 1611 |
| 1612 <template if="{{ library.scripts.isNotEmpty }}"> |
| 1613 scripts ({{ library.scripts.length }}) |
| 1614 <curly-block expand="{{ library.scripts.length <= 8 }}"> |
| 1615 <div class="memberList"> |
| 1616 <template repeat="{{ script in library.scripts }}"> |
| 1589 <div class="memberItem"> | 1617 <div class="memberItem"> |
| 1590 <div class="memberValue"> | 1618 <div class="memberValue"> |
| 1591 <script-ref ref="{{ script }}"></script-ref> | 1619 <script-ref ref="{{ script }}"></script-ref> |
| 1592 </div> | 1620 </div> |
| 1593 </div> | 1621 </div> |
| 1594 </template> | 1622 </template> |
| 1595 </div> | 1623 </div> |
| 1596 </curly-block><br> | 1624 </curly-block><br> |
| 1625 <br> |
| 1597 </template> | 1626 </template> |
| 1598 | 1627 |
| 1599 <template if="{{ library['classes'].isNotEmpty }}"> | 1628 <template if="{{ library.classes.isNotEmpty }}"> |
| 1600 classes ({{ library['classes'].length }}) | 1629 classes ({{ library.classes.length }}) |
| 1601 <curly-block> | 1630 <curly-block expand="{{ library.classes.length <= 8 }}"> |
| 1602 <div class="memberList"> | 1631 <div class="memberList"> |
| 1603 <template repeat="{{ cls in library['classes'] }}"> | 1632 <template repeat="{{ cls in library.classes }}"> |
| 1604 <div class="memberItem"> | 1633 <div class="memberItem"> |
| 1605 <div class="memberValue"> | 1634 <div class="memberValue"> |
| 1606 <class-ref ref="{{ cls }}"></class-ref> | 1635 <class-ref ref="{{ cls }}"></class-ref> |
| 1607 </div> | 1636 </div> |
| 1608 </div> | 1637 </div> |
| 1609 </template> | 1638 </template> |
| 1610 </div> | 1639 </div> |
| 1611 </curly-block><br> | 1640 </curly-block><br> |
| 1641 <br> |
| 1612 </template> | 1642 </template> |
| 1613 | 1643 |
| 1614 <template if="{{ library['variables'].isNotEmpty }}"> | 1644 <template if="{{ library.variables.isNotEmpty }}"> |
| 1615 variables ({{ library['variables'].length }}) | 1645 variables ({{ library.variables.length }}) |
| 1616 <curly-block> | 1646 <curly-block expand="{{ library.variables.length <= 8 }}"> |
| 1617 <div class="memberList"> | 1647 <div class="memberList"> |
| 1618 <template repeat="{{ field in library['variables'] }}"> | 1648 <template repeat="{{ field in library.variables }}"> |
| 1619 <div class="memberItem"> | 1649 <div class="memberItem"> |
| 1620 <div class="memberName"> | 1650 <div class="memberName"> |
| 1621 <field-ref ref="{{ field }}"></field-ref> | 1651 <field-ref ref="{{ field }}"></field-ref> |
| 1622 </div> | 1652 </div> |
| 1623 <div class="memberValue"> | 1653 <div class="memberValue"> |
| 1624 <template if="{{ field['value'] != null }}"> | 1654 <template if="{{ field['value'] != null }}"> |
| 1625 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 1655 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 1626 </template> | 1656 </template> |
| 1627 </div> | 1657 </div> |
| 1628 </div> | 1658 </div> |
| 1629 </template> | 1659 </template> |
| 1630 </div> | 1660 </div> |
| 1631 </curly-block><br> | 1661 </curly-block><br> |
| 1662 <br> |
| 1632 </template> | 1663 </template> |
| 1633 | 1664 |
| 1634 <template if="{{ library['functions'].isNotEmpty }}"> | 1665 <template if="{{ library.functions.isNotEmpty }}"> |
| 1635 functions ({{ library['functions'].length }}) | 1666 functions ({{ library.functions.length }}) |
| 1636 <curly-block> | 1667 <curly-block expand="{{ library.functions.length <= 8 }}"> |
| 1637 <div class="memberList"> | 1668 <div class="memberList"> |
| 1638 <template repeat="{{ function in library['functions'] }}"> | 1669 <template repeat="{{ function in library.functions }}"> |
| 1639 <div class="memberItem"> | 1670 <div class="memberItem"> |
| 1640 <div class="memberValue"> | 1671 <div class="memberValue"> |
| 1641 <function-ref ref="{{ function }}"></function-ref> | 1672 <function-ref ref="{{ function }}"></function-ref> |
| 1642 </div> | 1673 </div> |
| 1643 </div> | 1674 </div> |
| 1644 </template> | 1675 </template> |
| 1645 </div> | 1676 </div> |
| 1646 </curly-block><br> | 1677 </curly-block><br> |
| 1678 <br> |
| 1647 </template> | 1679 </template> |
| 1648 </div> | 1680 </div> |
| 1649 | 1681 |
| 1650 <hr> | 1682 <hr> |
| 1651 | 1683 |
| 1652 <div class="content"> | 1684 <div class="content"> |
| 1653 <eval-box callback="{{ eval }}"></eval-box> | 1685 <eval-box callback="{{ eval }}"></eval-box> |
| 1654 </div> | 1686 </div> |
| 1655 <br><br><br><br> | 1687 <br><br><br><br> |
| 1656 <br><br><br><br> | 1688 <br><br><br><br> |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1740 </div> | 1772 </div> |
| 1741 </template> | 1773 </template> |
| 1742 | 1774 |
| 1743 </polymer-element> | 1775 </polymer-element> |
| 1744 <polymer-element name="isolate-profile" extends="observatory-element"> | 1776 <polymer-element name="isolate-profile" extends="observatory-element"> |
| 1745 <template> | 1777 <template> |
| 1746 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 1778 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 1747 <nav-bar> | 1779 <nav-bar> |
| 1748 <top-nav-menu></top-nav-menu> | 1780 <top-nav-menu></top-nav-menu> |
| 1749 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> | 1781 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> |
| 1750 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu> | 1782 <nav-menu link="{{ profile.isolate.relativeHashLink('profile') }}" anchor=
"cpu profile" last="{{ true }}"></nav-menu> |
| 1751 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 1783 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 1752 </nav-bar> | 1784 </nav-bar> |
| 1753 <style> | 1785 <style> |
| 1754 .table { | 1786 .table { |
| 1755 border-collapse: collapse!important; | 1787 border-collapse: collapse!important; |
| 1756 width: 100%; | 1788 width: 100%; |
| 1757 margin-bottom: 20px | 1789 margin-bottom: 20px |
| 1758 } | 1790 } |
| 1759 .table thead > tr > th, | 1791 .table thead > tr > th, |
| 1760 .table tbody > tr > th, | 1792 .table tbody > tr > th, |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1953 text-decoration: underline; | 1985 text-decoration: underline; |
| 1954 cursor: pointer; | 1986 cursor: pointer; |
| 1955 } | 1987 } |
| 1956 #classtable tr:hover > td { | 1988 #classtable tr:hover > td { |
| 1957 background-color: #F4C7C3; | 1989 background-color: #F4C7C3; |
| 1958 } | 1990 } |
| 1959 </style> | 1991 </style> |
| 1960 <nav-bar> | 1992 <nav-bar> |
| 1961 <top-nav-menu></top-nav-menu> | 1993 <top-nav-menu></top-nav-menu> |
| 1962 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> | 1994 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> |
| 1963 <nav-menu link="." anchor="heap profile" last="{{ true }}"></nav-menu> | 1995 <nav-menu link="{{ profile.isolate.relativeHashLink('allocationprofile') }}"
anchor="heap profile" last="{{ true }}"></nav-menu> |
| 1964 <nav-refresh callback="{{ resetAccumulator }}" label="Reset Accumulator"></n
av-refresh> | 1996 <nav-refresh callback="{{ resetAccumulator }}" label="Reset Accumulator"></n
av-refresh> |
| 1965 <nav-refresh callback="{{ refreshGC }}" label="GC"></nav-refresh> | 1997 <nav-refresh callback="{{ refreshGC }}" label="GC"></nav-refresh> |
| 1966 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 1998 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 1967 </nav-bar> | 1999 </nav-bar> |
| 1968 | 2000 |
| 1969 <div class="flex-row"> | 2001 <div class="flex-row"> |
| 1970 <div id="newPieChart" class="flex-item-fixed-4-12" style="height: 400px"> | 2002 <div id="newPieChart" class="flex-item-fixed-4-12" style="height: 400px"> |
| 1971 </div> | 2003 </div> |
| 1972 <div id="newStatus" class="flex-item-fixed-2-12"> | 2004 <div id="newStatus" class="flex-item-fixed-2-12"> |
| 1973 <div class="memberList"> | 2005 <div class="memberList"> |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2088 </div> | 2120 </div> |
| 2089 </template> | 2121 </template> |
| 2090 | 2122 |
| 2091 </polymer-element> | 2123 </polymer-element> |
| 2092 <polymer-element name="stack-trace" extends="observatory-element"> | 2124 <polymer-element name="stack-trace" extends="observatory-element"> |
| 2093 <template> | 2125 <template> |
| 2094 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 2126 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 2095 <nav-bar> | 2127 <nav-bar> |
| 2096 <top-nav-menu></top-nav-menu> | 2128 <top-nav-menu></top-nav-menu> |
| 2097 <isolate-nav-menu isolate="{{ trace.isolate }}"></isolate-nav-menu> | 2129 <isolate-nav-menu isolate="{{ trace.isolate }}"></isolate-nav-menu> |
| 2098 <nav-menu link="." anchor="stack trace" last="{{ true }}"></nav-menu> | 2130 <nav-menu link="{{ trace.isolate.relativeHashLink('stacktrace') }}" anchor
="stack trace" last="{{ true }}"></nav-menu> |
| 2099 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 2131 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 2100 </nav-bar> | 2132 </nav-bar> |
| 2101 <template if="{{ trace['members'].isEmpty }}"> | 2133 <template if="{{ trace['members'].isEmpty }}"> |
| 2102 <div class="content"> | 2134 <div class="content"> |
| 2103 <em>No stack</em> | 2135 <em>No stack</em> |
| 2104 </div> | 2136 </div> |
| 2105 </template> | 2137 </template> |
| 2106 <template if="{{ trace['members'].isNotEmpty }}"> | 2138 <template if="{{ trace['members'].isNotEmpty }}"> |
| 2107 <ul class="list-group"> | 2139 <ul class="list-group"> |
| 2108 <template repeat="{{ frame in trace['members'] }}"> | 2140 <template repeat="{{ frame in trace['members'] }}"> |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2175 <response-viewer app="{{ app }}"></response-viewer> | 2207 <response-viewer app="{{ app }}"></response-viewer> |
| 2176 </template> | 2208 </template> |
| 2177 | 2209 |
| 2178 </polymer-element> | 2210 </polymer-element> |
| 2179 <polymer-element name="service-exception-view" extends="observatory-element"> | 2211 <polymer-element name="service-exception-view" extends="observatory-element"> |
| 2180 <template> | 2212 <template> |
| 2181 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 2213 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 2182 <nav-bar> | 2214 <nav-bar> |
| 2183 <top-nav-menu last="{{ true }}"></top-nav-menu> | 2215 <top-nav-menu last="{{ true }}"></top-nav-menu> |
| 2184 </nav-bar> | 2216 </nav-bar> |
| 2185 <div class="content"> | 2217 <div class="content-centered"> |
| 2186 <h1>{{ exception.kind }}</h1> | 2218 <h1>{{ exception.kind }}</h1> |
| 2187 <div class="well">{{ exception.message }}</div> | 2219 <br> |
| 2220 <div class="well">{{ exception.message }}</div> |
| 2221 <template if="{{ exception.response != '' }}"> |
| 2188 <div class="well">{{ exception.response }}</div> | 2222 <div class="well">{{ exception.response }}</div> |
| 2223 </template> |
| 2189 </div> | 2224 </div> |
| 2190 </template> | 2225 </template> |
| 2191 | 2226 |
| 2192 </polymer-element> | 2227 </polymer-element> |
| 2193 <polymer-element name="service-error-view" extends="observatory-element"> | 2228 <polymer-element name="service-error-view" extends="observatory-element"> |
| 2194 <template> | 2229 <template> |
| 2195 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 2230 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 2196 <nav-bar> | 2231 <nav-bar> |
| 2197 <top-nav-menu last="{{ true }}"></top-nav-menu> | 2232 <top-nav-menu last="{{ true }}"></top-nav-menu> |
| 2198 </nav-bar> | 2233 </nav-bar> |
| 2199 <div class="content"> | 2234 <div class="content-centered"> |
| 2200 <h1>{{ error.kind }}</h1> | 2235 <h1>{{ error.kind }}</h1> |
| 2236 <br> |
| 2201 <div class="well">{{ error.message }}</div> | 2237 <div class="well">{{ error.message }}</div> |
| 2202 </div> | 2238 </div> |
| 2203 </template> | 2239 </template> |
| 2204 | 2240 |
| 2205 </polymer-element> | 2241 </polymer-element> |
| 2206 <polymer-element name="vm-ref" extends="service-ref"> | 2242 <polymer-element name="vm-ref" extends="service-ref"> |
| 2207 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> | 2243 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> |
| 2208 <a href="{{ url }}">{{ ref.name }}</a> | 2244 <a href="{{ url }}">{{ ref.name }}</a> |
| 2209 </template> | 2245 </template> |
| 2210 | 2246 |
| 2211 </polymer-element> | 2247 </polymer-element> |
| 2212 | 2248 |
| 2213 | 2249 |
| 2214 <observatory-application></observatory-application> | 2250 <observatory-application></observatory-application> |
| 2215 | 2251 |
| 2216 </body></html> | 2252 </body></html> |
| OLD | NEW |