| OLD | NEW |
| 1 <!DOCTYPE html><html><head> | 1 <!DOCTYPE html><html><head> |
| 2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
| 3 <title>Dart VM Observatory</title> | 3 <title>Dart VM Observatory</title> |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | 10 |
| 11 </head> | 11 </head> |
| 12 <body><script src="packages/web_components/platform.js"></script> | 12 <body><script src="packages/web_components/platform.js"></script> |
| 13 | 13 |
| 14 | 14 |
| 15 <!-- unminified for debugging: | 15 <!-- unminfied for debugging: |
| 16 <link rel="import" href="src/js/polymer/layout.html"> | 16 <link rel="import" href="src/js/polymer/layout.html"> |
| 17 <script src="src/js/polymer/polymer.concat.js"></script> | 17 <script src="src/js/polymer/polymer.concat.js"></script> |
| 18 --> | 18 --> |
| 19 | 19 |
| 20 | 20 |
| 21 | 21 |
| 22 <style shim-shadowdom=""> | 22 <style shim-shadowdom=""> |
| 23 /******************************* | 23 /******************************* |
| 24 Flex Layout | 24 Flex Layout |
| 25 *******************************/ | 25 *******************************/ |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 | 590 |
| 591 | 591 |
| 592 | 592 |
| 593 | 593 |
| 594 | 594 |
| 595 | 595 |
| 596 | 596 |
| 597 | 597 |
| 598 | 598 |
| 599 | 599 |
| 600 |
| 601 |
| 600 <polymer-element name="curly-block"> | 602 <polymer-element name="curly-block"> |
| 601 <template> | 603 <template> |
| 602 <style> | 604 <style> |
| 603 .idle { | 605 .idle { |
| 604 display: inline-block; | 606 display: inline-block; |
| 605 color: #0489c3; | 607 color: #0489c3; |
| 606 cursor: pointer; | 608 cursor: pointer; |
| 607 } | 609 } |
| 608 .busy { | 610 .busy { |
| 609 display: inline-block; | 611 display: inline-block; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 645 | 647 |
| 646 | 648 |
| 647 | 649 |
| 648 | 650 |
| 649 <polymer-element name="service-ref" extends="observatory-element"> | 651 <polymer-element name="service-ref" extends="observatory-element"> |
| 650 </polymer-element> | 652 </polymer-element> |
| 651 | 653 |
| 652 <polymer-element name="any-service-ref" extends="observatory-element"> | 654 <polymer-element name="any-service-ref" extends="observatory-element"> |
| 653 </polymer-element> | 655 </polymer-element> |
| 654 | 656 |
| 655 <polymer-element name="instance-ref" extends="service-ref"> | 657 <polymer-element name="object-ref" extends="service-ref"> |
| 656 <template> | 658 <template><style> |
| 657 <style> | |
| 658 /* Global styles */ | 659 /* Global styles */ |
| 659 * { | 660 * { |
| 660 margin: 0; | 661 margin: 0; |
| 661 padding: 0; | 662 padding: 0; |
| 662 font: 400 14px 'Montserrat', sans-serif; | 663 font: 400 14px 'Montserrat', sans-serif; |
| 663 color: #333; | 664 color: #333; |
| 664 box-sizing: border-box; | 665 box-sizing: border-box; |
| 665 } | 666 } |
| 666 | 667 |
| 667 .content { | 668 .content { |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 background-color: #f5f5f5; | 903 background-color: #f5f5f5; |
| 903 border: 1px solid #e3e3e3; | 904 border: 1px solid #e3e3e3; |
| 904 border-radius: 4px; | 905 border-radius: 4px; |
| 905 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); | 906 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 906 } | 907 } |
| 907 | 908 |
| 908 .break-wrap { | 909 .break-wrap { |
| 909 word-wrap: break-word; | 910 word-wrap: break-word; |
| 910 } | 911 } |
| 911 </style> | 912 </style> |
| 912 <style> | 913 <template if="{{ nameIsEmpty }}"> |
| 913 .errorBox { | 914 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.vmType }}</em></a> |
| 914 background-color: #f5f5f5; | |
| 915 border: 1px solid #ccc; | |
| 916 padding: 10px; | |
| 917 font-family: consolas, courier, monospace; | |
| 918 font-size: 1em; | |
| 919 line-height: 1.2em; | |
| 920 white-space: pre; | |
| 921 } | |
| 922 </style> | |
| 923 <span> | |
| 924 <template if="{{ ref.isSentinel }}"> | |
| 925 <div title="{{ hoverText }}">{{ ref.valueAsString }}</div> | |
| 926 </template> | |
| 927 | |
| 928 <template if="{{ ref.isBool || ref.isInt || | |
| 929 ref.isDouble || ref.isNull }}"> | |
| 930 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.valueAsString }}</a> | |
| 931 </template> | |
| 932 | |
| 933 <template if="{{ ref.isString }}"> | |
| 934 <a on-click="{{ goto }}" _href="{{ url }}">{{ asStringLiteral(ref.valueA
sString, ref.valueAsStringIsTruncated) }}</a> | |
| 935 </template> | |
| 936 | |
| 937 | |
| 938 <template if="{{ ref.isAbstractType }}"> | |
| 939 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> | |
| 940 </template> | |
| 941 | |
| 942 <template if="{{ ref.isClosure }}"> | |
| 943 <a on-click="{{ goto }}" _href="{{ url }}"> | |
| 944 <!-- TODO(turnidge): Switch this to fully-qualified function --> | |
| 945 {{ ref.closureFunc.name }} | |
| 946 </a> | |
| 947 </template> | |
| 948 | |
| 949 <template if="{{ ref.isPlainInstance }}"> | |
| 950 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> | |
| 951 <curly-block callback="{{ expander() }}"> | |
| 952 <div class="memberList"> | |
| 953 <template repeat="{{ field in ref.fields }}"> | |
| 954 <div class="memberItem"> | |
| 955 <div class="memberName"> | |
| 956 {{ field['decl'].name }} | |
| 957 </div> | |
| 958 <div class="memberValue"> | |
| 959 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> | |
| 960 </div> | |
| 961 </div> | |
| 962 </template> | |
| 963 </div> | |
| 964 </curly-block> | |
| 965 </template> | |
| 966 | |
| 967 <template if="{{ ref.isList }}"> | |
| 968 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
({{ ref.length }})</a> | |
| 969 <curly-block callback="{{ expander() }}"> | |
| 970 <div class="memberList"> | |
| 971 <template repeat="{{ element in ref.elements }}"> | |
| 972 <div class="memberItem"> | |
| 973 <div class="memberName">[{{ element['index']}}]</div> | |
| 974 <div class="memberValue"> | |
| 975 <any-service-ref ref="{{ element['value'] }}"></any-service-re
f> | |
| 976 </div> | |
| 977 </div> | |
| 978 </template> | |
| 979 </div> | |
| 980 </curly-block> | |
| 981 </template> | |
| 982 | |
| 983 <template if="{{ ref.isMirrorReference }}"> | |
| 984 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> | |
| 985 <curly-block callback="{{ expander() }}"> | |
| 986 <div class="memberList"> | |
| 987 <div class="memberItem"> | |
| 988 <div class="memberName">referent</div> | |
| 989 <div class="memberValue"> | |
| 990 <any-service-ref ref="{{ ref.referent }}"></any-service-ref> | |
| 991 </div> | |
| 992 </div> | |
| 993 </div> | |
| 994 </curly-block> | |
| 995 </template> | |
| 996 | |
| 997 <template if="{{ ref.isWeakProperty }}"> | |
| 998 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> | |
| 999 <curly-block callback="{{ expander() }}"> | |
| 1000 <div class="memberList"> | |
| 1001 <div class="memberItem"> | |
| 1002 <div class="memberName">key</div> | |
| 1003 <div class="memberValue"> | |
| 1004 <any-service-ref ref="{{ ref.key }}"></any-service-ref> | |
| 1005 </div> | |
| 1006 </div> | |
| 1007 <div class="memberItem"> | |
| 1008 <div class="memberName">value</div> | |
| 1009 <div class="memberValue"> | |
| 1010 <any-service-ref ref="{{ ref.value }}"></any-service-ref> | |
| 1011 </div> | |
| 1012 </div> | |
| 1013 </div> | |
| 1014 </curly-block> | |
| 1015 </template> | |
| 1016 </span> | |
| 1017 </template> | |
| 1018 </polymer-element> | |
| 1019 | |
| 1020 | |
| 1021 <polymer-element name="action-link"> | |
| 1022 <template> | |
| 1023 <style> | |
| 1024 .idle { | |
| 1025 color: #0489c3; | |
| 1026 cursor: pointer; | |
| 1027 text-decoration: none; | |
| 1028 } | |
| 1029 .idle:hover { | |
| 1030 text-decoration: underline; | |
| 1031 } | |
| 1032 .busy { | |
| 1033 color: #aaa; | |
| 1034 cursor: wait; | |
| 1035 text-decoration: none; | |
| 1036 } | |
| 1037 </style> | |
| 1038 | |
| 1039 <template if="{{ busy }}"> | |
| 1040 <span class="busy">[{{ label }}]</span> | |
| 1041 </template> | 915 </template> |
| 1042 <template if="{{ !busy }}"> | 916 <template if="{{ !nameIsEmpty }}"> |
| 1043 <template if="{{ color == null }}"> | 917 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ name }}</em></a> |
| 1044 <span class="idle"><a on-click="{{ doAction }}">[{{ label }}]</a></span> | |
| 1045 </template> | |
| 1046 <template if="{{ color != null }}"> | |
| 1047 <span class="idle" style="color:{{ color }}"><a on-click="{{ doAction }}
">[{{ label }}]</a></span> | |
| 1048 </template> | |
| 1049 </template> | 918 </template> |
| 1050 </template> | 919 </template> |
| 1051 </polymer-element> | 920 </polymer-element> |
| 1052 | 921 |
| 1053 | 922 <polymer-element name="instance-ref" extends="service-ref"> |
| 1054 | |
| 1055 | |
| 1056 | |
| 1057 | |
| 1058 | |
| 1059 | |
| 1060 | |
| 1061 | |
| 1062 <polymer-element name="nav-bar" extends="observatory-element"> | |
| 1063 <template> | 923 <template> |
| 1064 <style> | 924 <style> |
| 1065 /* Global styles */ | 925 /* Global styles */ |
| 1066 * { | 926 * { |
| 1067 margin: 0; | 927 margin: 0; |
| 1068 padding: 0; | 928 padding: 0; |
| 1069 font: 400 14px 'Montserrat', sans-serif; | 929 font: 400 14px 'Montserrat', sans-serif; |
| 1070 color: #333; | 930 color: #333; |
| 1071 box-sizing: border-box; | 931 box-sizing: border-box; |
| 1072 } | 932 } |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1310 border: 1px solid #e3e3e3; | 1170 border: 1px solid #e3e3e3; |
| 1311 border-radius: 4px; | 1171 border-radius: 4px; |
| 1312 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); | 1172 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 1313 } | 1173 } |
| 1314 | 1174 |
| 1315 .break-wrap { | 1175 .break-wrap { |
| 1316 word-wrap: break-word; | 1176 word-wrap: break-word; |
| 1317 } | 1177 } |
| 1318 </style> | 1178 </style> |
| 1319 <style> | 1179 <style> |
| 1180 .errorBox { |
| 1181 background-color: #f5f5f5; |
| 1182 border: 1px solid #ccc; |
| 1183 padding: 10px; |
| 1184 font-family: consolas, courier, monospace; |
| 1185 font-size: 1em; |
| 1186 line-height: 1.2em; |
| 1187 white-space: pre; |
| 1188 } |
| 1189 </style> |
| 1190 <span> |
| 1191 <template if="{{ ref.isSentinel }}"> |
| 1192 <div title="{{ hoverText }}">{{ ref.valueAsString }}</div> |
| 1193 </template> |
| 1194 |
| 1195 <template if="{{ ref.isBool || ref.isInt || |
| 1196 ref.isDouble || ref.isNull }}"> |
| 1197 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.valueAsString }}</a> |
| 1198 </template> |
| 1199 |
| 1200 <template if="{{ ref.isString }}"> |
| 1201 <a on-click="{{ goto }}" _href="{{ url }}">{{ asStringLiteral(ref.valueA
sString, ref.valueAsStringIsTruncated) }}</a> |
| 1202 </template> |
| 1203 |
| 1204 |
| 1205 <template if="{{ ref.isAbstractType }}"> |
| 1206 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> |
| 1207 </template> |
| 1208 |
| 1209 <template if="{{ ref.isClosure }}"> |
| 1210 <a on-click="{{ goto }}" _href="{{ url }}"> |
| 1211 <!-- TODO(turnidge): Switch this to fully-qualified function --> |
| 1212 {{ ref.closureFunc.name }} |
| 1213 </a> |
| 1214 </template> |
| 1215 |
| 1216 <template if="{{ ref.isPlainInstance }}"> |
| 1217 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> |
| 1218 <curly-block callback="{{ expander() }}"> |
| 1219 <div class="memberList"> |
| 1220 <template repeat="{{ field in ref.fields }}"> |
| 1221 <div class="memberItem"> |
| 1222 <div class="memberName"> |
| 1223 {{ field['decl'].name }} |
| 1224 </div> |
| 1225 <div class="memberValue"> |
| 1226 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> |
| 1227 </div> |
| 1228 </div> |
| 1229 </template> |
| 1230 </div> |
| 1231 </curly-block> |
| 1232 </template> |
| 1233 |
| 1234 <template if="{{ ref.isList }}"> |
| 1235 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
({{ ref.length }})</a> |
| 1236 <curly-block callback="{{ expander() }}"> |
| 1237 <div class="memberList"> |
| 1238 <template repeat="{{ element in ref.elements }}"> |
| 1239 <div class="memberItem"> |
| 1240 <div class="memberName">[{{ element['index']}}]</div> |
| 1241 <div class="memberValue"> |
| 1242 <any-service-ref ref="{{ element['value'] }}"></any-service-re
f> |
| 1243 </div> |
| 1244 </div> |
| 1245 </template> |
| 1246 </div> |
| 1247 </curly-block> |
| 1248 </template> |
| 1249 |
| 1250 <template if="{{ ref.isMirrorReference }}"> |
| 1251 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> |
| 1252 <curly-block callback="{{ expander() }}"> |
| 1253 <div class="memberList"> |
| 1254 <div class="memberItem"> |
| 1255 <div class="memberName">referent</div> |
| 1256 <div class="memberValue"> |
| 1257 <any-service-ref ref="{{ ref.referent }}"></any-service-ref> |
| 1258 </div> |
| 1259 </div> |
| 1260 </div> |
| 1261 </curly-block> |
| 1262 </template> |
| 1263 |
| 1264 <template if="{{ ref.isWeakProperty }}"> |
| 1265 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> |
| 1266 <curly-block callback="{{ expander() }}"> |
| 1267 <div class="memberList"> |
| 1268 <div class="memberItem"> |
| 1269 <div class="memberName">key</div> |
| 1270 <div class="memberValue"> |
| 1271 <any-service-ref ref="{{ ref.key }}"></any-service-ref> |
| 1272 </div> |
| 1273 </div> |
| 1274 <div class="memberItem"> |
| 1275 <div class="memberName">value</div> |
| 1276 <div class="memberValue"> |
| 1277 <any-service-ref ref="{{ ref.value }}"></any-service-ref> |
| 1278 </div> |
| 1279 </div> |
| 1280 </div> |
| 1281 </curly-block> |
| 1282 </template> |
| 1283 </span> |
| 1284 </template> |
| 1285 </polymer-element> |
| 1286 |
| 1287 |
| 1288 <polymer-element name="action-link"> |
| 1289 <template> |
| 1290 <style> |
| 1291 .idle { |
| 1292 color: #0489c3; |
| 1293 cursor: pointer; |
| 1294 text-decoration: none; |
| 1295 } |
| 1296 .idle:hover { |
| 1297 text-decoration: underline; |
| 1298 } |
| 1299 .busy { |
| 1300 color: #aaa; |
| 1301 cursor: wait; |
| 1302 text-decoration: none; |
| 1303 } |
| 1304 </style> |
| 1305 |
| 1306 <template if="{{ busy }}"> |
| 1307 <span class="busy">[{{ label }}]</span> |
| 1308 </template> |
| 1309 <template if="{{ !busy }}"> |
| 1310 <template if="{{ color == null }}"> |
| 1311 <span class="idle"><a on-click="{{ doAction }}">[{{ label }}]</a></span> |
| 1312 </template> |
| 1313 <template if="{{ color != null }}"> |
| 1314 <span class="idle" style="color:{{ color }}"><a on-click="{{ doAction }}
">[{{ label }}]</a></span> |
| 1315 </template> |
| 1316 </template> |
| 1317 </template> |
| 1318 </polymer-element> |
| 1319 |
| 1320 |
| 1321 |
| 1322 |
| 1323 |
| 1324 |
| 1325 |
| 1326 |
| 1327 |
| 1328 |
| 1329 <polymer-element name="nav-bar" extends="observatory-element"> |
| 1330 <template> |
| 1331 <style> |
| 1332 /* Global styles */ |
| 1333 * { |
| 1334 margin: 0; |
| 1335 padding: 0; |
| 1336 font: 400 14px 'Montserrat', sans-serif; |
| 1337 color: #333; |
| 1338 box-sizing: border-box; |
| 1339 } |
| 1340 |
| 1341 .content { |
| 1342 padding-left: 10%; |
| 1343 font: 400 14px 'Montserrat', sans-serif; |
| 1344 } |
| 1345 |
| 1346 .content-centered { |
| 1347 padding-left: 10%; |
| 1348 padding-right: 10%; |
| 1349 font: 400 14px 'Montserrat', sans-serif; |
| 1350 } |
| 1351 |
| 1352 .content-centered-big { |
| 1353 padding-left: 5%; |
| 1354 padding-right: 5%; |
| 1355 font: 400 14px 'Montserrat', sans-serif; |
| 1356 } |
| 1357 |
| 1358 h1 { |
| 1359 font: 400 18px 'Montserrat', sans-serif; |
| 1360 } |
| 1361 |
| 1362 .memberList { |
| 1363 display: table; |
| 1364 } |
| 1365 |
| 1366 .memberItem { |
| 1367 display: table-row; |
| 1368 } |
| 1369 |
| 1370 .memberName, .memberValue { |
| 1371 display: table-cell; |
| 1372 vertical-align: top; |
| 1373 padding: 3px 0 3px 1em; |
| 1374 font: 400 14px 'Montserrat', sans-serif; |
| 1375 } |
| 1376 |
| 1377 .memberSmall { |
| 1378 display: table-cell; |
| 1379 vertical-align: top; |
| 1380 padding: 3px 0 3px 1em; |
| 1381 font: 400 12px 'Montserrat', sans-serif; |
| 1382 } |
| 1383 |
| 1384 .monospace { |
| 1385 font-family: consolas, courier, monospace; |
| 1386 font-size: 1em; |
| 1387 line-height: 1.2em; |
| 1388 white-space: nowrap; |
| 1389 } |
| 1390 |
| 1391 a { |
| 1392 color: #0489c3; |
| 1393 text-decoration: none; |
| 1394 } |
| 1395 |
| 1396 a:hover { |
| 1397 text-decoration: underline; |
| 1398 } |
| 1399 |
| 1400 em { |
| 1401 color: inherit; |
| 1402 font-style: italic; |
| 1403 } |
| 1404 |
| 1405 b { |
| 1406 color: inherit; |
| 1407 font-weight: bold; |
| 1408 } |
| 1409 |
| 1410 hr { |
| 1411 margin-top: 20px; |
| 1412 margin-bottom: 20px; |
| 1413 border: 0; |
| 1414 border-top: 1px solid #eee; |
| 1415 height: 0; |
| 1416 box-sizing: content-box; |
| 1417 } |
| 1418 |
| 1419 .list-group { |
| 1420 padding-left: 0; |
| 1421 margin-bottom: 20px; |
| 1422 } |
| 1423 |
| 1424 .list-group-item { |
| 1425 position: relative; |
| 1426 display: block; |
| 1427 padding: 10px 15px; |
| 1428 margin-bottom: -1px; |
| 1429 background-color: #fff; |
| 1430 } |
| 1431 |
| 1432 .list-group-item:first-child { |
| 1433 /* rounded top corners */ |
| 1434 border-top-right-radius:4px; |
| 1435 border-top-left-radius:4px; |
| 1436 } |
| 1437 |
| 1438 .list-group-item:last-child { |
| 1439 margin-bottom: 0; |
| 1440 /* rounded bottom corners */ |
| 1441 border-bottom-right-radius: 4px; |
| 1442 border-bottom-left-radius:4px; |
| 1443 } |
| 1444 |
| 1445 /* Flex row container */ |
| 1446 .flex-row { |
| 1447 display: flex; |
| 1448 flex-direction: row; |
| 1449 } |
| 1450 |
| 1451 /* Flex column container */ |
| 1452 .flex-column { |
| 1453 display: flex; |
| 1454 flex-direction: column; |
| 1455 } |
| 1456 |
| 1457 .flex-item-fit { |
| 1458 flex-grow: 1; |
| 1459 flex-shrink: 1; |
| 1460 flex-basis: auto; |
| 1461 } |
| 1462 |
| 1463 .flex-item-no-shrink { |
| 1464 flex-grow: 0; |
| 1465 flex-shrink: 0; |
| 1466 flex-basis: auto; |
| 1467 } |
| 1468 |
| 1469 .flex-item-fill { |
| 1470 flex-grow: 0; |
| 1471 flex-shrink: 1; /* shrink when pressured */ |
| 1472 flex-basis: 100%; /* try and take 100% */ |
| 1473 } |
| 1474 |
| 1475 .flex-item-fixed-1-12 { |
| 1476 flex-grow: 0; |
| 1477 flex-shrink: 0; |
| 1478 flex-basis: 8.3%; |
| 1479 } |
| 1480 |
| 1481 .flex-item-fixed-2-12 { |
| 1482 flex-grow: 0; |
| 1483 flex-shrink: 0; |
| 1484 flex-basis: 16.6%; |
| 1485 } |
| 1486 |
| 1487 .flex-item-fixed-4-12 { |
| 1488 flex-grow: 0; |
| 1489 flex-shrink: 0; |
| 1490 flex-basis: 33.3333%; |
| 1491 } |
| 1492 |
| 1493 .flex-item-fixed-6-12, .flex-item-50-percent { |
| 1494 flex-grow: 0; |
| 1495 flex-shrink: 0; |
| 1496 flex-basis: 50%; |
| 1497 } |
| 1498 |
| 1499 .flex-item-fixed-8-12 { |
| 1500 flex-grow: 0; |
| 1501 flex-shrink: 0; |
| 1502 flex-basis: 66.6666%; |
| 1503 } |
| 1504 |
| 1505 .flex-item-fixed-9-12 { |
| 1506 flex-grow: 0; |
| 1507 flex-shrink: 0; |
| 1508 flex-basis: 75%; |
| 1509 } |
| 1510 |
| 1511 |
| 1512 .flex-item-fixed-12-12 { |
| 1513 flex-grow: 0; |
| 1514 flex-shrink: 0; |
| 1515 flex-basis: 100%; |
| 1516 } |
| 1517 |
| 1518 .flex-item-10-percent { |
| 1519 flex-grow: 0; |
| 1520 flex-shrink: 0; |
| 1521 flex-basis: 10%; |
| 1522 } |
| 1523 |
| 1524 .flex-item-15-percent { |
| 1525 flex-grow: 0; |
| 1526 flex-shrink: 0; |
| 1527 flex-basis: 15%; |
| 1528 } |
| 1529 |
| 1530 .flex-item-20-percent { |
| 1531 flex-grow: 0; |
| 1532 flex-shrink: 0; |
| 1533 flex-basis: 20%; |
| 1534 } |
| 1535 |
| 1536 .flex-item-30-percent { |
| 1537 flex-grow: 0; |
| 1538 flex-shrink: 0; |
| 1539 flex-basis: 30%; |
| 1540 } |
| 1541 |
| 1542 .flex-item-40-percent { |
| 1543 flex-grow: 0; |
| 1544 flex-shrink: 0; |
| 1545 flex-basis: 40%; |
| 1546 } |
| 1547 |
| 1548 .flex-item-50-percent { |
| 1549 flex-grow: 0; |
| 1550 flex-shrink: 0; |
| 1551 flex-basis: 50%; |
| 1552 } |
| 1553 |
| 1554 .flex-item-60-percent { |
| 1555 flex-grow: 0; |
| 1556 flex-shrink: 0; |
| 1557 flex-basis: 60%; |
| 1558 } |
| 1559 |
| 1560 .flex-item-70-percent { |
| 1561 flex-grow: 0; |
| 1562 flex-shrink: 0; |
| 1563 flex-basis: 70%; |
| 1564 } |
| 1565 |
| 1566 .flex-item-80-percent { |
| 1567 flex-grow: 0; |
| 1568 flex-shrink: 0; |
| 1569 flex-basis: 80%; |
| 1570 } |
| 1571 |
| 1572 .well { |
| 1573 min-height: 20px; |
| 1574 padding: 19px; |
| 1575 margin-bottom: 20px; |
| 1576 background-color: #f5f5f5; |
| 1577 border: 1px solid #e3e3e3; |
| 1578 border-radius: 4px; |
| 1579 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 1580 } |
| 1581 |
| 1582 .break-wrap { |
| 1583 word-wrap: break-word; |
| 1584 } |
| 1585 </style> |
| 1586 <style> |
| 1320 nav { | 1587 nav { |
| 1321 position: fixed; | 1588 position: fixed; |
| 1322 width: 100%; | 1589 width: 100%; |
| 1323 z-index: 1000; | 1590 z-index: 1000; |
| 1324 } | 1591 } |
| 1325 nav ul { | 1592 nav ul { |
| 1326 display: inline-table; | 1593 display: inline-table; |
| 1327 position: relative; | 1594 position: relative; |
| 1328 list-style: none; | 1595 list-style: none; |
| 1329 padding-left: 0; | 1596 padding-left: 0; |
| (...skipping 13517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14847 </style> | 15114 </style> |
| 14848 <div class="memberList"> | 15115 <div class="memberList"> |
| 14849 | 15116 |
| 14850 <div class="memberItem"> | 15117 <div class="memberItem"> |
| 14851 <div class="memberName">class</div> | 15118 <div class="memberName">class</div> |
| 14852 <div class="memberValue"> | 15119 <div class="memberValue"> |
| 14853 <class-ref ref="{{ object.clazz }}"></class-ref> | 15120 <class-ref ref="{{ object.clazz }}"></class-ref> |
| 14854 </div> | 15121 </div> |
| 14855 </div> | 15122 </div> |
| 14856 | 15123 |
| 14857 <div class="memberItem" title="Space for this object in memory"> | 15124 <template if="{{ object.size != null }}"> |
| 14858 <div class="memberName">size</div> | 15125 <div class="memberItem" title="Space for this object in memory"> |
| 14859 <div class="memberValue">{{ object.size | formatSize }}</div> | 15126 <div class="memberName">size</div> |
| 14860 </div> | 15127 <div class="memberValue">{{ object.size | formatSize }}</div> |
| 15128 </div> |
| 15129 </template> |
| 15130 |
| 15131 <template if="{{ object.size == null }}"> |
| 15132 <div class="memberItem" title="Space for this object in memory"> |
| 15133 <div class="memberName">size</div> |
| 15134 <div class="memberValue">0</div> |
| 15135 </div> |
| 15136 </template> |
| 14861 | 15137 |
| 14862 <div class="memberItem" title="Space that would be reclaimed if references
to this object were replaced with null"> | 15138 <div class="memberItem" title="Space that would be reclaimed if references
to this object were replaced with null"> |
| 14863 <div class="memberName">retained size</div> | 15139 <div class="memberName">retained size</div> |
| 14864 <div class="memberValue"> | 15140 <div class="memberValue"> |
| 14865 <template if="{{ retainedBytes == null }}"> | 15141 <template if="{{ retainedBytes == null }}"> |
| 14866 <eval-link callback="{{ retainedSize }}" label="[calculate]"> | 15142 <eval-link callback="{{ retainedSize }}" label="[calculate]"> |
| 14867 </eval-link> | 15143 </eval-link> |
| 14868 </template> | 15144 </template> |
| 14869 <template if="{{ retainedBytes != null }}"> | 15145 <template if="{{ retainedBytes != null }}"> |
| 14870 {{ retainedBytes | formatSize }} | 15146 {{ retainedBytes | formatSize }} |
| (...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15662 | 15938 |
| 15663 | 15939 |
| 15664 | 15940 |
| 15665 | 15941 |
| 15666 | 15942 |
| 15667 | 15943 |
| 15668 <polymer-element name="library-view" extends="observatory-element"> | 15944 <polymer-element name="library-view" extends="observatory-element"> |
| 15669 <template> | 15945 <template> |
| 15670 <style> | 15946 <style> |
| 15671 /* Global styles */ | 15947 /* Global styles */ |
| 15948 * { |
| 15949 margin: 0; |
| 15950 padding: 0; |
| 15951 font: 400 14px 'Montserrat', sans-serif; |
| 15952 color: #333; |
| 15953 box-sizing: border-box; |
| 15954 } |
| 15955 |
| 15956 .content { |
| 15957 padding-left: 10%; |
| 15958 font: 400 14px 'Montserrat', sans-serif; |
| 15959 } |
| 15960 |
| 15961 .content-centered { |
| 15962 padding-left: 10%; |
| 15963 padding-right: 10%; |
| 15964 font: 400 14px 'Montserrat', sans-serif; |
| 15965 } |
| 15966 |
| 15967 .content-centered-big { |
| 15968 padding-left: 5%; |
| 15969 padding-right: 5%; |
| 15970 font: 400 14px 'Montserrat', sans-serif; |
| 15971 } |
| 15972 |
| 15973 h1 { |
| 15974 font: 400 18px 'Montserrat', sans-serif; |
| 15975 } |
| 15976 |
| 15977 .memberList { |
| 15978 display: table; |
| 15979 } |
| 15980 |
| 15981 .memberItem { |
| 15982 display: table-row; |
| 15983 } |
| 15984 |
| 15985 .memberName, .memberValue { |
| 15986 display: table-cell; |
| 15987 vertical-align: top; |
| 15988 padding: 3px 0 3px 1em; |
| 15989 font: 400 14px 'Montserrat', sans-serif; |
| 15990 } |
| 15991 |
| 15992 .memberSmall { |
| 15993 display: table-cell; |
| 15994 vertical-align: top; |
| 15995 padding: 3px 0 3px 1em; |
| 15996 font: 400 12px 'Montserrat', sans-serif; |
| 15997 } |
| 15998 |
| 15999 .monospace { |
| 16000 font-family: consolas, courier, monospace; |
| 16001 font-size: 1em; |
| 16002 line-height: 1.2em; |
| 16003 white-space: nowrap; |
| 16004 } |
| 16005 |
| 16006 a { |
| 16007 color: #0489c3; |
| 16008 text-decoration: none; |
| 16009 } |
| 16010 |
| 16011 a:hover { |
| 16012 text-decoration: underline; |
| 16013 } |
| 16014 |
| 16015 em { |
| 16016 color: inherit; |
| 16017 font-style: italic; |
| 16018 } |
| 16019 |
| 16020 b { |
| 16021 color: inherit; |
| 16022 font-weight: bold; |
| 16023 } |
| 16024 |
| 16025 hr { |
| 16026 margin-top: 20px; |
| 16027 margin-bottom: 20px; |
| 16028 border: 0; |
| 16029 border-top: 1px solid #eee; |
| 16030 height: 0; |
| 16031 box-sizing: content-box; |
| 16032 } |
| 16033 |
| 16034 .list-group { |
| 16035 padding-left: 0; |
| 16036 margin-bottom: 20px; |
| 16037 } |
| 16038 |
| 16039 .list-group-item { |
| 16040 position: relative; |
| 16041 display: block; |
| 16042 padding: 10px 15px; |
| 16043 margin-bottom: -1px; |
| 16044 background-color: #fff; |
| 16045 } |
| 16046 |
| 16047 .list-group-item:first-child { |
| 16048 /* rounded top corners */ |
| 16049 border-top-right-radius:4px; |
| 16050 border-top-left-radius:4px; |
| 16051 } |
| 16052 |
| 16053 .list-group-item:last-child { |
| 16054 margin-bottom: 0; |
| 16055 /* rounded bottom corners */ |
| 16056 border-bottom-right-radius: 4px; |
| 16057 border-bottom-left-radius:4px; |
| 16058 } |
| 16059 |
| 16060 /* Flex row container */ |
| 16061 .flex-row { |
| 16062 display: flex; |
| 16063 flex-direction: row; |
| 16064 } |
| 16065 |
| 16066 /* Flex column container */ |
| 16067 .flex-column { |
| 16068 display: flex; |
| 16069 flex-direction: column; |
| 16070 } |
| 16071 |
| 16072 .flex-item-fit { |
| 16073 flex-grow: 1; |
| 16074 flex-shrink: 1; |
| 16075 flex-basis: auto; |
| 16076 } |
| 16077 |
| 16078 .flex-item-no-shrink { |
| 16079 flex-grow: 0; |
| 16080 flex-shrink: 0; |
| 16081 flex-basis: auto; |
| 16082 } |
| 16083 |
| 16084 .flex-item-fill { |
| 16085 flex-grow: 0; |
| 16086 flex-shrink: 1; /* shrink when pressured */ |
| 16087 flex-basis: 100%; /* try and take 100% */ |
| 16088 } |
| 16089 |
| 16090 .flex-item-fixed-1-12 { |
| 16091 flex-grow: 0; |
| 16092 flex-shrink: 0; |
| 16093 flex-basis: 8.3%; |
| 16094 } |
| 16095 |
| 16096 .flex-item-fixed-2-12 { |
| 16097 flex-grow: 0; |
| 16098 flex-shrink: 0; |
| 16099 flex-basis: 16.6%; |
| 16100 } |
| 16101 |
| 16102 .flex-item-fixed-4-12 { |
| 16103 flex-grow: 0; |
| 16104 flex-shrink: 0; |
| 16105 flex-basis: 33.3333%; |
| 16106 } |
| 16107 |
| 16108 .flex-item-fixed-6-12, .flex-item-50-percent { |
| 16109 flex-grow: 0; |
| 16110 flex-shrink: 0; |
| 16111 flex-basis: 50%; |
| 16112 } |
| 16113 |
| 16114 .flex-item-fixed-8-12 { |
| 16115 flex-grow: 0; |
| 16116 flex-shrink: 0; |
| 16117 flex-basis: 66.6666%; |
| 16118 } |
| 16119 |
| 16120 .flex-item-fixed-9-12 { |
| 16121 flex-grow: 0; |
| 16122 flex-shrink: 0; |
| 16123 flex-basis: 75%; |
| 16124 } |
| 16125 |
| 16126 |
| 16127 .flex-item-fixed-12-12 { |
| 16128 flex-grow: 0; |
| 16129 flex-shrink: 0; |
| 16130 flex-basis: 100%; |
| 16131 } |
| 16132 |
| 16133 .flex-item-10-percent { |
| 16134 flex-grow: 0; |
| 16135 flex-shrink: 0; |
| 16136 flex-basis: 10%; |
| 16137 } |
| 16138 |
| 16139 .flex-item-15-percent { |
| 16140 flex-grow: 0; |
| 16141 flex-shrink: 0; |
| 16142 flex-basis: 15%; |
| 16143 } |
| 16144 |
| 16145 .flex-item-20-percent { |
| 16146 flex-grow: 0; |
| 16147 flex-shrink: 0; |
| 16148 flex-basis: 20%; |
| 16149 } |
| 16150 |
| 16151 .flex-item-30-percent { |
| 16152 flex-grow: 0; |
| 16153 flex-shrink: 0; |
| 16154 flex-basis: 30%; |
| 16155 } |
| 16156 |
| 16157 .flex-item-40-percent { |
| 16158 flex-grow: 0; |
| 16159 flex-shrink: 0; |
| 16160 flex-basis: 40%; |
| 16161 } |
| 16162 |
| 16163 .flex-item-50-percent { |
| 16164 flex-grow: 0; |
| 16165 flex-shrink: 0; |
| 16166 flex-basis: 50%; |
| 16167 } |
| 16168 |
| 16169 .flex-item-60-percent { |
| 16170 flex-grow: 0; |
| 16171 flex-shrink: 0; |
| 16172 flex-basis: 60%; |
| 16173 } |
| 16174 |
| 16175 .flex-item-70-percent { |
| 16176 flex-grow: 0; |
| 16177 flex-shrink: 0; |
| 16178 flex-basis: 70%; |
| 16179 } |
| 16180 |
| 16181 .flex-item-80-percent { |
| 16182 flex-grow: 0; |
| 16183 flex-shrink: 0; |
| 16184 flex-basis: 80%; |
| 16185 } |
| 16186 |
| 16187 .well { |
| 16188 min-height: 20px; |
| 16189 padding: 19px; |
| 16190 margin-bottom: 20px; |
| 16191 background-color: #f5f5f5; |
| 16192 border: 1px solid #e3e3e3; |
| 16193 border-radius: 4px; |
| 16194 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 16195 } |
| 16196 |
| 16197 .break-wrap { |
| 16198 word-wrap: break-word; |
| 16199 } |
| 16200 </style> |
| 16201 |
| 16202 <nav-bar> |
| 16203 <top-nav-menu></top-nav-menu> |
| 16204 <isolate-nav-menu isolate="{{ library.isolate }}"></isolate-nav-menu> |
| 16205 <library-nav-menu library="{{ library }}" last="{{ true }}"></library-nav-
menu> |
| 16206 <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></n
av-refresh> |
| 16207 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 16208 <nav-control></nav-control> |
| 16209 </nav-bar> |
| 16210 |
| 16211 <div class="content"> |
| 16212 <h1> |
| 16213 <!-- TODO(turnidge): Handle unnamed libraries --> |
| 16214 library {{ library.name }} |
| 16215 </h1> |
| 16216 <div class="memberList"> |
| 16217 <div class="memberItem"> |
| 16218 <div class="memberName">url</div> |
| 16219 <div class="memberValue">{{ library.url }}</div> |
| 16220 </div> |
| 16221 <template if="{{ library.name != library.vmName }}"> |
| 16222 <div class="memberItem"> |
| 16223 <div class="memberName">vm name</div> |
| 16224 <div class="memberValue">{{ library.vmName }}</div> |
| 16225 </div> |
| 16226 </template> |
| 16227 </div> |
| 16228 </div> |
| 16229 |
| 16230 <hr> |
| 16231 |
| 16232 <div class="content"> |
| 16233 <template if="{{ library.imports.isNotEmpty }}"> |
| 16234 imports ({{ library.imports.length }}) |
| 16235 <curly-block expand="{{ library.imports.length <= 8 }}"> |
| 16236 <div class="memberList"> |
| 16237 <template repeat="{{ imp in library.imports }}"> |
| 16238 <div class="memberItem"> |
| 16239 <div class="memberValue"> |
| 16240 <library-ref ref="{{ imp }}"></library-ref> |
| 16241 </div> |
| 16242 </div> |
| 16243 </template> |
| 16244 </div> |
| 16245 </curly-block><br> |
| 16246 <br> |
| 16247 </template> |
| 16248 |
| 16249 <template if="{{ library.scripts.isNotEmpty }}"> |
| 16250 scripts ({{ library.scripts.length }}) |
| 16251 <curly-block expand="{{ library.scripts.length <= 8 }}"> |
| 16252 <div class="memberList"> |
| 16253 <template repeat="{{ script in library.scripts }}"> |
| 16254 <div class="memberItem"> |
| 16255 <div class="memberValue"> |
| 16256 <script-ref ref="{{ script }}"></script-ref> |
| 16257 </div> |
| 16258 </div> |
| 16259 </template> |
| 16260 </div> |
| 16261 </curly-block><br> |
| 16262 <br> |
| 16263 </template> |
| 16264 |
| 16265 <template if="{{ library.classes.isNotEmpty }}"> |
| 16266 classes ({{ library.classes.length }}) |
| 16267 <curly-block expand="{{ library.classes.length <= 8 }}"> |
| 16268 <div class="memberList"> |
| 16269 <template repeat="{{ cls in library.classes }}"> |
| 16270 <div class="memberItem"> |
| 16271 <div class="memberValue"> |
| 16272 <class-ref ref="{{ cls }}"></class-ref> |
| 16273 </div> |
| 16274 </div> |
| 16275 </template> |
| 16276 </div> |
| 16277 </curly-block><br> |
| 16278 <br> |
| 16279 </template> |
| 16280 |
| 16281 <template if="{{ library.variables.isNotEmpty }}"> |
| 16282 variables ({{ library.variables.length }}) |
| 16283 <curly-block expand="{{ library.variables.length <= 8 }}"> |
| 16284 <div class="memberList"> |
| 16285 <template repeat="{{ field in library.variables }}"> |
| 16286 <div class="memberItem"> |
| 16287 <div class="memberName"> |
| 16288 <field-ref ref="{{ field }}"></field-ref> |
| 16289 </div> |
| 16290 <div class="memberValue"> |
| 16291 <template if="{{ field['value'] != null }}"> |
| 16292 <any-service-ref ref="{{ field['value'] }}"></any-service-re
f> |
| 16293 </template> |
| 16294 </div> |
| 16295 </div> |
| 16296 </template> |
| 16297 </div> |
| 16298 </curly-block><br> |
| 16299 <br> |
| 16300 </template> |
| 16301 |
| 16302 <template if="{{ library.functions.isNotEmpty }}"> |
| 16303 functions ({{ library.functions.length }}) |
| 16304 <curly-block expand="{{ library.functions.length <= 8 }}"> |
| 16305 <div class="memberList"> |
| 16306 <template repeat="{{ function in library.functions }}"> |
| 16307 <div class="memberItem"> |
| 16308 <div class="memberValue"> |
| 16309 <function-ref ref="{{ function }}"></function-ref> |
| 16310 </div> |
| 16311 </div> |
| 16312 </template> |
| 16313 </div> |
| 16314 </curly-block><br> |
| 16315 <br> |
| 16316 </template> |
| 16317 </div> |
| 16318 |
| 16319 <hr> |
| 16320 |
| 16321 <div class="content"> |
| 16322 <eval-box callback="{{ eval }}"></eval-box> |
| 16323 </div> |
| 16324 <br><br><br><br> |
| 16325 <br><br><br><br> |
| 16326 </template> |
| 16327 </polymer-element> |
| 16328 |
| 16329 |
| 16330 |
| 16331 |
| 16332 |
| 16333 |
| 16334 <polymer-element name="metrics-page" extends="observatory-element"> |
| 16335 <template> |
| 16336 <style> |
| 16337 /* Global styles */ |
| 15672 * { | 16338 * { |
| 15673 margin: 0; | 16339 margin: 0; |
| 15674 padding: 0; | 16340 padding: 0; |
| 15675 font: 400 14px 'Montserrat', sans-serif; | 16341 font: 400 14px 'Montserrat', sans-serif; |
| 15676 color: #333; | 16342 color: #333; |
| 15677 box-sizing: border-box; | 16343 box-sizing: border-box; |
| 15678 } | 16344 } |
| 15679 | 16345 |
| 15680 .content { | 16346 .content { |
| 15681 padding-left: 10%; | 16347 padding-left: 10%; |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15915 background-color: #f5f5f5; | 16581 background-color: #f5f5f5; |
| 15916 border: 1px solid #e3e3e3; | 16582 border: 1px solid #e3e3e3; |
| 15917 border-radius: 4px; | 16583 border-radius: 4px; |
| 15918 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); | 16584 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 15919 } | 16585 } |
| 15920 | 16586 |
| 15921 .break-wrap { | 16587 .break-wrap { |
| 15922 word-wrap: break-word; | 16588 word-wrap: break-word; |
| 15923 } | 16589 } |
| 15924 </style> | 16590 </style> |
| 15925 | 16591 <style> |
| 16592 ul li:hover:not(.selected) { |
| 16593 background-color: #FFF3E3; |
| 16594 } |
| 16595 .selected { |
| 16596 background-color: #0489c3; |
| 16597 } |
| 16598 .graph { |
| 16599 min-height: 600px; |
| 16600 } |
| 16601 </style> |
| 15926 <nav-bar> | 16602 <nav-bar> |
| 15927 <top-nav-menu></top-nav-menu> | 16603 <top-nav-menu last="{{ true }}"></top-nav-menu> |
| 15928 <isolate-nav-menu isolate="{{ library.isolate }}"></isolate-nav-menu> | |
| 15929 <library-nav-menu library="{{ library }}" last="{{ true }}"></library-nav-
menu> | |
| 15930 <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></n
av-refresh> | |
| 15931 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 16604 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 15932 <nav-control></nav-control> | 16605 <nav-control></nav-control> |
| 15933 </nav-bar> | 16606 </nav-bar> |
| 15934 | 16607 <div class="flex-row"> |
| 15935 <div class="content"> | 16608 <div class="flex-item-20-percent"> |
| 15936 <h1> | 16609 <ul> |
| 15937 <!-- TODO(turnidge): Handle unnamed libraries --> | 16610 <template repeat="{{ metric in isolate.dartMetrics.values }}"> |
| 15938 library {{ library.name }} | 16611 <template if="{{ metric == selectedMetric }}"> |
| 15939 </h1> | 16612 <li class="selected"> |
| 15940 <div class="memberList"> | 16613 {{ metric.name }} |
| 15941 <div class="memberItem"> | 16614 </li> |
| 15942 <div class="memberName">url</div> | 16615 </template> |
| 15943 <div class="memberValue">{{ library.url }}</div> | 16616 <template if="{{ metric != selectedMetric }}"> |
| 16617 <li on-click="{{ selectMetric }}" data-id="{{ metric.id }}"> |
| 16618 {{ metric.name }} |
| 16619 </li> |
| 16620 </template> |
| 16621 </template> |
| 16622 <template repeat="{{ metric in isolate.vmMetrics.values }}"> |
| 16623 <template if="{{ metric == selectedMetric }}"> |
| 16624 <li class="selected"> |
| 16625 {{ metric.name }} |
| 16626 </li> |
| 16627 </template> |
| 16628 <template if="{{ metric != selectedMetric }}"> |
| 16629 <li on-click="{{ selectMetric }}" data-id="{{ metric.id }}"> |
| 16630 {{ metric.name }} |
| 16631 </li> |
| 16632 </template> |
| 16633 </template> |
| 16634 </ul> |
| 16635 </div> |
| 16636 <div class="flex-item-80-percent"> |
| 16637 <metrics-graph isolate="{{ isolate }}" metric="{{ selectedMetric }}"> |
| 16638 </metrics-graph> |
| 16639 <div> |
| 16640 <metric-details page="{{ page }}" metric="{{ selectedMetric }}"> |
| 16641 </metric-details> |
| 15944 </div> | 16642 </div> |
| 15945 <template if="{{ library.name != library.vmName }}"> | |
| 15946 <div class="memberItem"> | |
| 15947 <div class="memberName">vm name</div> | |
| 15948 <div class="memberValue">{{ library.vmName }}</div> | |
| 15949 </div> | |
| 15950 </template> | |
| 15951 </div> | 16643 </div> |
| 15952 </div> | 16644 </div> |
| 15953 | |
| 15954 <hr> | |
| 15955 | |
| 15956 <div class="content"> | |
| 15957 <template if="{{ library.imports.isNotEmpty }}"> | |
| 15958 imports ({{ library.imports.length }}) | |
| 15959 <curly-block expand="{{ library.imports.length <= 8 }}"> | |
| 15960 <div class="memberList"> | |
| 15961 <template repeat="{{ imp in library.imports }}"> | |
| 15962 <div class="memberItem"> | |
| 15963 <div class="memberValue"> | |
| 15964 <library-ref ref="{{ imp }}"></library-ref> | |
| 15965 </div> | |
| 15966 </div> | |
| 15967 </template> | |
| 15968 </div> | |
| 15969 </curly-block><br> | |
| 15970 <br> | |
| 15971 </template> | |
| 15972 | |
| 15973 <template if="{{ library.scripts.isNotEmpty }}"> | |
| 15974 scripts ({{ library.scripts.length }}) | |
| 15975 <curly-block expand="{{ library.scripts.length <= 8 }}"> | |
| 15976 <div class="memberList"> | |
| 15977 <template repeat="{{ script in library.scripts }}"> | |
| 15978 <div class="memberItem"> | |
| 15979 <div class="memberValue"> | |
| 15980 <script-ref ref="{{ script }}"></script-ref> | |
| 15981 </div> | |
| 15982 </div> | |
| 15983 </template> | |
| 15984 </div> | |
| 15985 </curly-block><br> | |
| 15986 <br> | |
| 15987 </template> | |
| 15988 | |
| 15989 <template if="{{ library.classes.isNotEmpty }}"> | |
| 15990 classes ({{ library.classes.length }}) | |
| 15991 <curly-block expand="{{ library.classes.length <= 8 }}"> | |
| 15992 <div class="memberList"> | |
| 15993 <template repeat="{{ cls in library.classes }}"> | |
| 15994 <div class="memberItem"> | |
| 15995 <div class="memberValue"> | |
| 15996 <class-ref ref="{{ cls }}"></class-ref> | |
| 15997 </div> | |
| 15998 </div> | |
| 15999 </template> | |
| 16000 </div> | |
| 16001 </curly-block><br> | |
| 16002 <br> | |
| 16003 </template> | |
| 16004 | |
| 16005 <template if="{{ library.variables.isNotEmpty }}"> | |
| 16006 variables ({{ library.variables.length }}) | |
| 16007 <curly-block expand="{{ library.variables.length <= 8 }}"> | |
| 16008 <div class="memberList"> | |
| 16009 <template repeat="{{ field in library.variables }}"> | |
| 16010 <div class="memberItem"> | |
| 16011 <div class="memberName"> | |
| 16012 <field-ref ref="{{ field }}"></field-ref> | |
| 16013 </div> | |
| 16014 <div class="memberValue"> | |
| 16015 <template if="{{ field['value'] != null }}"> | |
| 16016 <any-service-ref ref="{{ field['value'] }}"></any-service-re
f> | |
| 16017 </template> | |
| 16018 </div> | |
| 16019 </div> | |
| 16020 </template> | |
| 16021 </div> | |
| 16022 </curly-block><br> | |
| 16023 <br> | |
| 16024 </template> | |
| 16025 | |
| 16026 <template if="{{ library.functions.isNotEmpty }}"> | |
| 16027 functions ({{ library.functions.length }}) | |
| 16028 <curly-block expand="{{ library.functions.length <= 8 }}"> | |
| 16029 <div class="memberList"> | |
| 16030 <template repeat="{{ function in library.functions }}"> | |
| 16031 <div class="memberItem"> | |
| 16032 <div class="memberValue"> | |
| 16033 <function-ref ref="{{ function }}"></function-ref> | |
| 16034 </div> | |
| 16035 </div> | |
| 16036 </template> | |
| 16037 </div> | |
| 16038 </curly-block><br> | |
| 16039 <br> | |
| 16040 </template> | |
| 16041 </div> | |
| 16042 | |
| 16043 <hr> | |
| 16044 | |
| 16045 <div class="content"> | |
| 16046 <eval-box callback="{{ eval }}"></eval-box> | |
| 16047 </div> | |
| 16048 <br><br><br><br> | |
| 16049 <br><br><br><br> | |
| 16050 </template> | 16645 </template> |
| 16051 </polymer-element> | 16646 </polymer-element> |
| 16052 | 16647 |
| 16053 | 16648 <polymer-element name="metric-details" extends="observatory-element"> |
| 16054 | |
| 16055 | |
| 16056 | |
| 16057 | |
| 16058 <polymer-element name="metrics-page" extends="observatory-element"> | |
| 16059 <template> | 16649 <template> |
| 16060 <style> | 16650 <style> |
| 16061 /* Global styles */ | 16651 /* Global styles */ |
| 16062 * { | 16652 * { |
| 16063 margin: 0; | 16653 margin: 0; |
| 16064 padding: 0; | 16654 padding: 0; |
| 16065 font: 400 14px 'Montserrat', sans-serif; | 16655 font: 400 14px 'Montserrat', sans-serif; |
| 16066 color: #333; | 16656 color: #333; |
| 16067 box-sizing: border-box; | 16657 box-sizing: border-box; |
| 16068 } | 16658 } |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16305 background-color: #f5f5f5; | 16895 background-color: #f5f5f5; |
| 16306 border: 1px solid #e3e3e3; | 16896 border: 1px solid #e3e3e3; |
| 16307 border-radius: 4px; | 16897 border-radius: 4px; |
| 16308 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); | 16898 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 16309 } | 16899 } |
| 16310 | 16900 |
| 16311 .break-wrap { | 16901 .break-wrap { |
| 16312 word-wrap: break-word; | 16902 word-wrap: break-word; |
| 16313 } | 16903 } |
| 16314 </style> | 16904 </style> |
| 16315 <style> | 16905 <div class="content-centered"> |
| 16316 ul li:hover:not(.selected) { | 16906 <div class="memberList"> |
| 16317 background-color: #FFF3E3; | 16907 <div class="memberItem"> |
| 16318 } | 16908 <div class="memberName">name</div> |
| 16319 .selected { | 16909 <div class="memberValue">{{ metric.name }}</div> |
| 16320 background-color: #0489c3; | 16910 </div> |
| 16321 } | 16911 <div class="memberItem"> |
| 16322 .graph { | 16912 <div class="memberName">description</div> |
| 16323 min-height: 600px; | 16913 <div class="memberValue">{{ metric.description }}</div> |
| 16324 } | 16914 </div> |
| 16325 </style> | 16915 <div class="memberItem"> |
| 16326 <nav-bar> | 16916 <div class="memberName">current value</div> |
| 16327 <top-nav-menu last="{{ true }}"></top-nav-menu> | 16917 <div class="memberValue">{{ metric.value }}</div> |
| 16328 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 16918 </div> |
| 16329 <nav-control></nav-control> | 16919 <template if="{{ (metric != null) && (metric.min != null) }}"> |
| 16330 </nav-bar> | 16920 <div class="memberItem"> |
| 16331 <div class="flex-row"> | 16921 <div class="memberName">minimum</div> |
| 16332 <div class="flex-item-20-percent"> | 16922 <div class="memberValue">{{ metric.min }}</div> |
| 16333 <ul> | 16923 </div> |
| 16334 <template repeat="{{ metric in isolate.dartMetrics.values }}"> | 16924 </template> |
| 16335 <template if="{{ metric == selectedMetric }}"> | 16925 <template if="{{ (metric != null) && (metric.max != null) }}"> |
| 16336 <li class="selected"> | 16926 <div class="memberItem"> |
| 16337 {{ metric.name }} | 16927 <div class="memberName">maximum</div> |
| 16338 </li> | 16928 <div class="memberValue">{{ metric.max }}</div> |
| 16339 </template> | 16929 </div> |
| 16340 <template if="{{ metric != selectedMetric }}"> | 16930 </template> |
| 16341 <li on-click="{{ selectMetric }}" data-id="{{ metric.id }}"> | 16931 <div class="memberItem"> |
| 16342 {{ metric.name }} | 16932 <div class="memberName">refresh rate</div> |
| 16343 </li> | 16933 <div class="memberValue"> |
| 16344 </template> | 16934 <select id="refreshrate" on-change="{{ refreshRateChange }}"> |
| 16345 </template> | 16935 <!-- These must be kept in sync with POLL_PERIODS in MetricsPage |
| 16346 <template repeat="{{ metric in isolate.vmMetrics.values }}"> | 16936 in object.dart --> |
| 16347 <template if="{{ metric == selectedMetric }}"> | 16937 <option value="8000">Every eight seconds</option> |
| 16348 <li class="selected"> | 16938 <option value="4000">Every four seconds</option> |
| 16349 {{ metric.name }} | 16939 <option value="2000">Every two seconds</option> |
| 16350 </li> | 16940 <option value="1000">Once a second</option> |
| 16351 </template> | 16941 <option value="100">Ten times per second</option> |
| 16352 <template if="{{ metric != selectedMetric }}"> | 16942 <option value="0" selected="selected">Never</option> |
| 16353 <li on-click="{{ selectMetric }}" data-id="{{ metric.id }}"> | 16943 </select> |
| 16354 {{ metric.name }} | 16944 </div> |
| 16355 </li> | 16945 </div> |
| 16356 </template> | 16946 <div class="memberItem"> |
| 16357 </template> | 16947 <div class="memberName">sample buffer size</div> |
| 16358 </ul> | 16948 <div class="memberValue"> |
| 16359 </div> | 16949 <select id="buffersize" on-change="{{ sampleBufferSizeChange }}"> |
| 16360 <div class="flex-item-80-percent"> | 16950 <option value="10">10</option> |
| 16361 <metrics-graph isolate="{{ isolate }}" metric="{{ selectedMetric }}"> | 16951 <option value="100" selected="selected">100</option> |
| 16362 </metrics-graph> | 16952 <option value="1000">1000</option> |
| 16363 <div> | 16953 </select> |
| 16364 <metric-details page="{{ page }}" metric="{{ selectedMetric }}"> | 16954 </div> |
| 16365 </metric-details> | |
| 16366 </div> | 16955 </div> |
| 16367 </div> | 16956 </div> |
| 16368 </div> | 16957 </div> |
| 16369 </template> | 16958 </template> |
| 16370 </polymer-element> | 16959 </polymer-element> |
| 16371 | 16960 |
| 16372 <polymer-element name="metric-details" extends="observatory-element"> | 16961 <polymer-element name="metrics-graph" extends="observatory-element"> |
| 16373 <template> | 16962 <template> |
| 16374 <style> | 16963 <style> |
| 16375 /* Global styles */ | 16964 /* Global styles */ |
| 16376 * { | 16965 * { |
| 16377 margin: 0; | 16966 margin: 0; |
| 16378 padding: 0; | 16967 padding: 0; |
| 16379 font: 400 14px 'Montserrat', sans-serif; | 16968 font: 400 14px 'Montserrat', sans-serif; |
| 16380 color: #333; | 16969 color: #333; |
| 16381 box-sizing: border-box; | 16970 box-sizing: border-box; |
| 16382 } | 16971 } |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16619 background-color: #f5f5f5; | 17208 background-color: #f5f5f5; |
| 16620 border: 1px solid #e3e3e3; | 17209 border: 1px solid #e3e3e3; |
| 16621 border-radius: 4px; | 17210 border-radius: 4px; |
| 16622 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); | 17211 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 16623 } | 17212 } |
| 16624 | 17213 |
| 16625 .break-wrap { | 17214 .break-wrap { |
| 16626 word-wrap: break-word; | 17215 word-wrap: break-word; |
| 16627 } | 17216 } |
| 16628 </style> | 17217 </style> |
| 16629 <div class="content-centered"> | 17218 <style> |
| 16630 <div class="memberList"> | 17219 .graph { |
| 16631 <div class="memberItem"> | 17220 min-height: 600px; |
| 16632 <div class="memberName">name</div> | 17221 } |
| 16633 <div class="memberValue">{{ metric.name }}</div> | 17222 </style> |
| 16634 </div> | 17223 <div id="graph" class="graph"> |
| 16635 <div class="memberItem"> | |
| 16636 <div class="memberName">description</div> | |
| 16637 <div class="memberValue">{{ metric.description }}</div> | |
| 16638 </div> | |
| 16639 <div class="memberItem"> | |
| 16640 <div class="memberName">current value</div> | |
| 16641 <div class="memberValue">{{ metric.value }}</div> | |
| 16642 </div> | |
| 16643 <template if="{{ (metric != null) && (metric.min != null) }}"> | |
| 16644 <div class="memberItem"> | |
| 16645 <div class="memberName">minimum</div> | |
| 16646 <div class="memberValue">{{ metric.min }}</div> | |
| 16647 </div> | |
| 16648 </template> | |
| 16649 <template if="{{ (metric != null) && (metric.max != null) }}"> | |
| 16650 <div class="memberItem"> | |
| 16651 <div class="memberName">maximum</div> | |
| 16652 <div class="memberValue">{{ metric.max }}</div> | |
| 16653 </div> | |
| 16654 </template> | |
| 16655 <div class="memberItem"> | |
| 16656 <div class="memberName">refresh rate</div> | |
| 16657 <div class="memberValue"> | |
| 16658 <select id="refreshrate" on-change="{{ refreshRateChange }}"> | |
| 16659 <!-- These must be kept in sync with POLL_PERIODS in MetricsPage | |
| 16660 in object.dart --> | |
| 16661 <option value="8000">Every eight seconds</option> | |
| 16662 <option value="4000">Every four seconds</option> | |
| 16663 <option value="2000">Every two seconds</option> | |
| 16664 <option value="1000">Once a second</option> | |
| 16665 <option value="100">Ten times per second</option> | |
| 16666 <option value="0" selected="selected">Never</option> | |
| 16667 </select> | |
| 16668 </div> | |
| 16669 </div> | |
| 16670 <div class="memberItem"> | |
| 16671 <div class="memberName">sample buffer size</div> | |
| 16672 <div class="memberValue"> | |
| 16673 <select id="buffersize" on-change="{{ sampleBufferSizeChange }}"> | |
| 16674 <option value="10">10</option> | |
| 16675 <option value="100" selected="selected">100</option> | |
| 16676 <option value="1000">1000</option> | |
| 16677 </select> | |
| 16678 </div> | |
| 16679 </div> | |
| 16680 </div> | |
| 16681 </div> | 17224 </div> |
| 16682 </template> | 17225 </template> |
| 16683 </polymer-element> | 17226 </polymer-element> |
| 16684 | 17227 |
| 16685 <polymer-element name="metrics-graph" extends="observatory-element"> | 17228 |
| 17229 |
| 17230 |
| 17231 |
| 17232 |
| 17233 |
| 17234 |
| 17235 |
| 17236 |
| 17237 |
| 17238 |
| 17239 |
| 17240 |
| 17241 <polymer-element name="object-view" extends="observatory-element"> |
| 16686 <template> | 17242 <template> |
| 16687 <style> | 17243 <style> |
| 16688 /* Global styles */ | 17244 /* Global styles */ |
| 16689 * { | 17245 * { |
| 16690 margin: 0; | 17246 margin: 0; |
| 16691 padding: 0; | 17247 padding: 0; |
| 16692 font: 400 14px 'Montserrat', sans-serif; | 17248 font: 400 14px 'Montserrat', sans-serif; |
| 16693 color: #333; | 17249 color: #333; |
| 16694 box-sizing: border-box; | 17250 box-sizing: border-box; |
| 16695 } | 17251 } |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16932 background-color: #f5f5f5; | 17488 background-color: #f5f5f5; |
| 16933 border: 1px solid #e3e3e3; | 17489 border: 1px solid #e3e3e3; |
| 16934 border-radius: 4px; | 17490 border-radius: 4px; |
| 16935 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); | 17491 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); |
| 16936 } | 17492 } |
| 16937 | 17493 |
| 16938 .break-wrap { | 17494 .break-wrap { |
| 16939 word-wrap: break-word; | 17495 word-wrap: break-word; |
| 16940 } | 17496 } |
| 16941 </style> | 17497 </style> |
| 16942 <style> | 17498 <nav-bar> |
| 16943 .graph { | 17499 <top-nav-menu></top-nav-menu> |
| 16944 min-height: 600px; | 17500 <isolate-nav-menu isolate="{{ object.isolate }}"></isolate-nav-menu> |
| 16945 } | 17501 <nav-menu link="." anchor="object" last="{{ true }}"></nav-menu> |
| 16946 </style> | 17502 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 16947 <div id="graph" class="graph"> | 17503 <nav-control></nav-control> |
| 17504 </nav-bar> |
| 17505 |
| 17506 <div class="content"> |
| 17507 <object-common object="{{ object }}"></object-common> |
| 16948 </div> | 17508 </div> |
| 17509 |
| 17510 <hr> |
| 16949 </template> | 17511 </template> |
| 16950 </polymer-element> | 17512 </polymer-element> |
| 16951 | 17513 |
| 16952 | 17514 |
| 16953 | 17515 |
| 16954 | 17516 |
| 16955 | 17517 |
| 16956 | 17518 |
| 16957 | 17519 |
| 16958 | 17520 |
| (...skipping 4471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21430 </style> | 21992 </style> |
| 21431 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> | 21993 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> |
| 21432 </template> | 21994 </template> |
| 21433 </polymer-element> | 21995 </polymer-element> |
| 21434 | 21996 |
| 21435 | 21997 |
| 21436 | 21998 |
| 21437 <observatory-application></observatory-application> | 21999 <observatory-application></observatory-application> |
| 21438 | 22000 |
| 21439 <script src="index.html_bootstrap.dart.js" async=""></script></body></html> | 22001 <script src="index.html_bootstrap.dart.js" async=""></script></body></html> |
| OLD | NEW |