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

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

Issue 221263002: Miscellaneous Observatory UI improvements (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/bin/vmservice/client/deployed/web/index.html_bootstrap.dart.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js" ></script> 1 <!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js" ></script>
2 <script src="packages/custom_element/custom-elements.debug.js"></script> 2 <script src="packages/custom_element/custom-elements.debug.js"></script>
3 3
4 <meta charset="utf-8"> 4 <meta charset="utf-8">
5 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c ss"> 5 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c ss">
6 6
7 <title>Dart VM Observatory</title> 7 <title>Dart VM Observatory</title>
8 <script type="text/javascript" src="https://www.google.com/jsapi"></script> 8 <script type="text/javascript" src="https://www.google.com/jsapi"></script>
9 <script src="packages/browser/interop.js"></script> 9 <script src="packages/browser/interop.js"></script>
10 10
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 627
628 <div class="content"> 628 <div class="content">
629 <eval-box callback="{{ eval }}"></eval-box> 629 <eval-box callback="{{ eval }}"></eval-box>
630 </div> 630 </div>
631 <br><br><br><br> 631 <br><br><br><br>
632 <br><br><br><br> 632 <br><br><br><br>
633 </template> 633 </template>
634 634
635 </polymer-element> 635 </polymer-element>
636 <polymer-element name="code-ref" extends="service-ref"> 636 <polymer-element name="code-ref" extends="service-ref">
637 <template> 637 <template>
638 <a href="{{ url }}">{{ name }}</a> 638 <template if="{{ code.isDartCode }}">
639 </template> 639 <a href="{{ url }}">{{ name }}</a>
640 </template>
641 <template if="{{ !code.isDartCode }}">
642 <span>{{ name }}</span>
643 </template>
644 </template>
640 645
641 </polymer-element><polymer-element name="code-view" extends="observatory-element "> 646 </polymer-element><polymer-element name="code-view" extends="observatory-element ">
642 <template> 647 <template>
643 <nav-bar> 648 <nav-bar>
644 <top-nav-menu></top-nav-menu> 649 <top-nav-menu></top-nav-menu>
645 <isolate-nav-menu isolate="{{ code.isolate }}"></isolate-nav-menu> 650 <isolate-nav-menu isolate="{{ code.isolate }}"></isolate-nav-menu>
646 <nav-menu link="." anchor="{{ code.name }}" last="{{ true }}"></nav-menu> 651 <nav-menu link="." anchor="{{ code.name }}" last="{{ true }}"></nav-menu>
647 <nav-refresh callback="{{ refresh }}"></nav-refresh> 652 <nav-refresh callback="{{ refresh }}"></nav-refresh>
648 </nav-bar> 653 </nav-bar>
649 <style> 654 <style>
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 <div class="memberValue"> 886 <div class="memberValue">
882 <instance-ref ref="{{ field['value'] }}"></instance-ref> 887 <instance-ref ref="{{ field['value'] }}"></instance-ref>
883 </div> 888 </div>
884 </div> 889 </div>
885 </template> 890 </template>
886 </div> 891 </div>
887 </div> 892 </div>
888 </template> 893 </template>
889 894
890 </polymer-element> 895 </polymer-element>
896 <polymer-element name="script-inset" extends="observatory-element">
897 <template>
898 <style>
899 .sourceInset {
900 padding-left: 15%;
901 padding-right: 15%;
902 }
903 .grayBox {
904 width: 100%;
905 background-color: #f5f5f5;
906 border: 1px solid #ccc;
907 padding: 10px;
908 }
909 </style>
910 <div class="sourceInset">
911 <content></content>
912 <div class="grayBox">
913 <template if="{{ coverage == true }}">
914 <table>
915 <tbody>
916 <tr template="" repeat="{{ line in lines }}">
917 <td style="{{ hitStyle(line) }}"><span> </span></td>
918 <td style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;white-space: nowrap;">{{line.line}}</td>
919 <td>&nbsp;</td>
920 <td width="99%" style="font-family: consolas, courier, monospace ;font-size: 1em;line-height: 1.2em;white-space: pre;">{{line.text}}</td>
921 </tr>
922 </tbody>
923 </table>
924 </template>
925 <template if="{{ coverage == false }}">
926 <table>
927 <tbody>
928 <tr template="" repeat="{{ line in lines }}">
929 <td style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;white-space: nowrap;">{{line.line}}</td>
930 <td>&nbsp;</td>
931 <td width="99%" style="font-family: consolas, courier, monospace ;font-size: 1em;line-height: 1.2em;white-space: pre;">{{line.text}}</td>
932 </tr>
933 </tbody>
934 </table>
935 </template>
936 </div>
937 </div>
938 </template>
939
940 </polymer-element>
891 <polymer-element name="function-view" extends="observatory-element"> 941 <polymer-element name="function-view" extends="observatory-element">
892 <template> 942 <template>
893 <style> 943 <style>
894 .content { 944 .content {
895 padding-left: 10%; 945 padding-left: 10%;
896 font: 400 14px 'Montserrat', sans-serif; 946 font: 400 14px 'Montserrat', sans-serif;
897 } 947 }
898 h1 { 948 h1 {
899 font: 400 18px 'Montserrat', sans-serif; 949 font: 400 18px 'Montserrat', sans-serif;
900 } 950 }
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1001 <div class="memberValue">{{ function['is_inlinable'] }}</div> 1051 <div class="memberValue">{{ function['is_inlinable'] }}</div>
1002 </div> 1052 </div>
1003 <template if="{{ function.name != function.vmName }}"> 1053 <template if="{{ function.name != function.vmName }}">
1004 <div class="memberItem"> 1054 <div class="memberItem">
1005 <div class="memberName">vm name</div> 1055 <div class="memberName">vm name</div>
1006 <div class="memberValue">{{ function.vmName }}</div> 1056 <div class="memberValue">{{ function.vmName }}</div>
1007 </div> 1057 </div>
1008 </template> 1058 </template>
1009 </div> 1059 </div>
1010 </div> 1060 </div>
1061
1062 <hr>
1063 <script-inset script="{{ function['script'] }}" pos="{{ function['tokenPos'] }}" endpos="{{ function['endTokenPos'] }}">
1064 </script-inset>
1065
1066 <br>
1011 </template> 1067 </template>
1012 1068
1013 </polymer-element> 1069 </polymer-element>
1014 <polymer-element name="heap-map" extends="observatory-element"> 1070 <polymer-element name="heap-map" extends="observatory-element">
1015 <template> 1071 <template>
1016 <nav-bar> 1072 <nav-bar>
1017 <top-nav-menu></top-nav-menu> 1073 <top-nav-menu></top-nav-menu>
1018 <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu> 1074 <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu>
1019 <nav-menu link="." anchor="heap map" last="{{ true }}"></nav-menu> 1075 <nav-menu link="." anchor="heap map" last="{{ true }}"></nav-menu>
1020 <nav-refresh callback="{{ refresh }}"></nav-refresh> 1076 <nav-refresh callback="{{ refresh }}"></nav-refresh>
1021 </nav-bar> 1077 </nav-bar>
1022 <div class="row"> 1078 <div class="row">
1023 <p style="text-align:center">{{ status }}</p> 1079 <p style="text-align:center">{{ status }}</p>
1024 </div> 1080 </div>
1025 <div class="row"> 1081 <div class="row">
1026 <canvas id="fragmentation" width="1px" height="1px"></canvas> 1082 <canvas id="fragmentation" width="1px" height="1px"></canvas>
1027 </div> 1083 </div>
1028 </template> 1084 </template>
1029 1085
1030 </polymer-element> 1086 </polymer-element>
1031 <polymer-element name="isolate-ref" extends="service-ref"> 1087 <polymer-element name="isolate-ref" extends="service-ref">
1032 <template> 1088 <template>
1033 <a href="{{ url }}">{{ ref.name }}</a> 1089 <a href="{{ url }}">{{ ref.name }}</a>
1034 </template> 1090 </template>
1035 1091
1036 </polymer-element> 1092 </polymer-element>
1037 <polymer-element name="script-inset" extends="observatory-element">
1038 <template>
1039 <style>
1040 .sourceInset {
1041 padding-left: 15%;
1042 padding-right: 15%;
1043 }
1044 .grayBox {
1045 width: 100%;
1046 background-color: #f5f5f5;
1047 border: 1px solid #ccc;
1048 padding: 10px;
1049 }
1050 </style>
1051 <div class="sourceInset">
1052 <content></content>
1053 <div class="grayBox">
1054 <table>
1055 <tbody>
1056 <tr template="" repeat="{{ line in lines }}">
1057 <td style="font-family: consolas, courier, monospace;font-size: 1e m;line-height: 1.2em;white-space: nowrap;">{{line.line}}</td>
1058 <td>&nbsp;</td>
1059 <td width="99%" style="font-family: consolas, courier, monospace;f ont-size: 1em;line-height: 1.2em;white-space: pre;">{{line.text}}</td>
1060 </tr>
1061 </tbody>
1062 </table>
1063 </div>
1064 </div>
1065 </template>
1066
1067 </polymer-element>
1068 <polymer-element name="isolate-summary" extends="observatory-element"> 1093 <polymer-element name="isolate-summary" extends="observatory-element">
1069 <template> 1094 <template>
1070 <div class="row"> 1095 <div class="row">
1071 <div class="col-md-1"> 1096 <div class="col-md-1">
1072 <img src="packages/observatory/src/elements/img/isolate_icon.png" class= "img-polaroid"> 1097 <img src="packages/observatory/src/elements/img/isolate_icon.png" class= "img-polaroid">
1073 </div> 1098 </div>
1074 1099
1075 <div class="col-md-1">{{ isolate.mainPort }}</div> 1100 <div class="col-md-1">{{ isolate.mainPort }}</div>
1076 1101
1077 <!-- TODO(turnidge): Use function-ref when it can take isolate param -->
1078 <div class="col-md-4"> 1102 <div class="col-md-4">
1079
1080 <div class="row"> 1103 <div class="row">
1081 <isolate-ref ref="{{ isolate }}"></isolate-ref> 1104 <isolate-ref ref="{{ isolate }}"></isolate-ref>
1082 </div> 1105 </div>
1083 1106
1084 <div class="row"> 1107 <div class="row">
1085 <small> 1108 <small>
1086 (<a href="{{ isolate.rootLib.hashLink }}">library</a>) 1109 (<a href="{{ isolate.rootLib.hashLink }}">library</a>)
1087 (<a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">break points</a>) 1110 (<a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">break points</a>)
1088 (<a href="{{ isolate.relativeHashLink('profile') }}">profile</a>) 1111 (<a href="{{ isolate.relativeHashLink('profile') }}">profile</a>)
1089 </small> 1112 </small>
1090 </div> 1113 </div>
1091 </div> 1114 </div>
1092 1115
1093 <div class="col-md-2"> 1116 <div class="col-md-2">
1094 <div class="row">
1095 <div class="col-md-5">{{ isolate.timers['total'] | formatTimePrecise } }</div>
1096 <div class="col-md-1"></div>
1097 <div class="col-md-3"><p class="text-muted">total</p></div>
1098 </div>
1099 <div class="row">
1100 <div class="col-md-5">{{ isolate.timers['dart'] | formatTimePrecise }} </div>
1101 <div class="col-md-1"></div>
1102 <div class="col-md-3"><p class="text-muted">dart</p></div>
1103 </div>
1104 <div class="row">
1105 <div class="col-md-5">{{ isolate.timers['compile'] | formatTimePrecise }}</div>
1106 <div class="col-md-1"></div>
1107 <div class="col-md-3"><p class="text-muted">compile</p></div>
1108 </div>
1109 <div class="row">
1110 <div class="col-md-5">{{ isolate.timers['gc'] | formatTimePrecise }}</ div>
1111 <div class="col-md-1"></div>
1112 <div class="col-md-3"><p class="text-muted">gc</p></div>
1113 </div>
1114 <div class="row">
1115 <div class="col-md-5">{{ isolate.timers['init'] | formatTimePrecise }} </div>
1116 <div class="col-md-1"></div>
1117 <div class="col-md-3"><p class="text-muted">init</p></div>
1118 </div>
1119 </div>
1120 <div class="col-md-2">
1121 <a href="{{ isolate.relativeHashLink('allocationprofile') }}"> 1117 <a href="{{ isolate.relativeHashLink('allocationprofile') }}">
1122 {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | format Size }} 1118 {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | format Size }}
1123 </a> 1119 </a>
1124 ( <a href="{{ isolate.relativeHashLink('heapmap') }}">map</a> ) 1120 ( <a href="{{ isolate.relativeHashLink('heapmap') }}">map</a> )
1125 </div> 1121 </div>
1126 <div class="col-md-2"> 1122 <div class="col-md-2">
1127 <template if="{{ isolate.topFrame == null }}"> 1123 <template if="{{ isolate.topFrame == null }}">
1128 idle 1124 idle
1129 </template> 1125 </template>
1130 <template if="{{ isolate.topFrame != null }}"> 1126 <template if="{{ isolate.topFrame != null }}">
1131 run 1127 run
1132 </template> 1128 </template>
1133 ( <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack trace</a> ) 1129 ( <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack trace</a> )
1134 </div> 1130 </div>
1135 </div> 1131 </div>
1132
1133 <div class="content">
1134 <template repeat="{{ key in isolate.counters.keys }}">
1135 <div class="memberValue">{{ key }} ({{ isolate.counters[key] }})</div>
1136 </template>
1137 </div>
1138
1136 <template if="{{ isolate.topFrame != null }}"> 1139 <template if="{{ isolate.topFrame != null }}">
1137 <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.to pFrame['tokenPos'] }}"> 1140 <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.to pFrame['tokenPos'] }}">
1138 <function-ref ref="{{ isolate.topFrame['function'] }}"></function-ref> 1141 <function-ref ref="{{ isolate.topFrame['function'] }}"></function-ref>
1139 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topF rame['tokenPos'] }}"></script-ref>) 1142 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topF rame['tokenPos'] }}"></script-ref>)
1140 </script-inset> 1143 </script-inset>
1141 </template> 1144 </template>
1142 </template> 1145 </template>
1143 1146
1144 </polymer-element> 1147 </polymer-element>
1145 <polymer-element name="isolate-view" extends="observatory-element"> 1148 <polymer-element name="isolate-view" extends="observatory-element">
(...skipping 15 matching lines...) Expand all
1161 .memberName, .memberValue { 1164 .memberName, .memberValue {
1162 display: table-cell; 1165 display: table-cell;
1163 vertical-align: top; 1166 vertical-align: top;
1164 padding: 3px 0 3px 1em; 1167 padding: 3px 0 3px 1em;
1165 font: 400 14px 'Montserrat', sans-serif; 1168 font: 400 14px 'Montserrat', sans-serif;
1166 } 1169 }
1167 .sourceInset { 1170 .sourceInset {
1168 padding-left: 15%; 1171 padding-left: 15%;
1169 padding-right: 15%; 1172 padding-right: 15%;
1170 } 1173 }
1174 .miniProfileChart {
1175 width: 80%;
1176 }
1171 </style> 1177 </style>
1172 1178
1173 <nav-bar> 1179 <nav-bar>
1174 <top-nav-menu></top-nav-menu> 1180 <top-nav-menu></top-nav-menu>
1175 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> 1181 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}">
1176 </isolate-nav-menu> 1182 </isolate-nav-menu>
1177 <nav-refresh callback="{{ refresh }}"></nav-refresh> 1183 <nav-refresh callback="{{ refresh }}"></nav-refresh>
1178 </nav-bar> 1184 </nav-bar>
1179 1185
1180 <div class="content"> 1186 <div class="content">
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1328 <div class="memberValue"> 1334 <div class="memberValue">
1329 See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map</a> 1335 See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map</a>
1330 </div> 1336 </div>
1331 </div> 1337 </div>
1332 </div> 1338 </div>
1333 </div> 1339 </div>
1334 1340
1335 <hr> 1341 <hr>
1336 1342
1337 <div class="content"> 1343 <div class="content">
1338 <div id="tagProfileChart" class="col-md-8" style="height: 400px"></div> 1344 <div class="memberValue">Isolate execution</div>
1345 <template repeat="{{ key in isolate.counters.keys }}">
1346 <div class="memberValue">{{ key }} ({{ isolate.counters[key] }})</div>
1347 </template>
1348 </div>
1349
1350 <div class="content">
1351 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px">< /div>
1339 </div> 1352 </div>
1340 1353
1341 <hr> 1354 <hr>
1342 1355
1343 <div class="content"> 1356 <div class="content">
1344 <eval-box callback="{{ eval }}"></eval-box> 1357 <eval-box callback="{{ eval }}"></eval-box>
1345 </div> 1358 </div>
1346 <br><br><br><br> 1359 <br><br><br><br>
1347 <br><br><br><br> 1360 <br><br><br><br>
1348 </template> 1361 </template>
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1501 <eval-box callback="{{ eval }}"></eval-box> 1514 <eval-box callback="{{ eval }}"></eval-box>
1502 </div> 1515 </div>
1503 <br><br><br><br> 1516 <br><br><br><br>
1504 <br><br><br><br> 1517 <br><br><br><br>
1505 </template> 1518 </template>
1506 </template> 1519 </template>
1507 1520
1508 </polymer-element> 1521 </polymer-element>
1509 <polymer-element name="json-view" extends="observatory-element"> 1522 <polymer-element name="json-view" extends="observatory-element">
1510 <template> 1523 <template>
1511 <template bind="" if="{{ valueType == 'Primitive' }}"> 1524 <nav-bar>
1512 <span>{{primitiveString}}</span> 1525 <top-nav-menu last="{{ true }}"></top-nav-menu>
1513 </template> 1526 </nav-bar>
1514 <template bind="" if="{{ valueType == 'List' }}"> 1527 <pre>{{ mapAsString }}</pre>
1515 <table class="table table-condensed table-bordered">
1516 <caption class="text-left">List, {{list.length}}</caption>
1517 <tbody>
1518 <tr template="" repeat="{{item in list)}}">
1519 <th>{{counter}}</th>
1520 <td><json-view json="{{item}}"></json-view></td>
1521 </tr>
1522 </tbody>
1523 </table>
1524 </template>
1525 <template if="{{ valueType == 'Map' }}">
1526 <table class="table table-condensed table-bordered">
1527 <caption class="text-left">Map, {{keys.length}}</caption>
1528 <tbody>
1529 <tr template="" repeat="{{key in keys}}">
1530 <th>{{key}}</th>
1531 <td><json-view json="{{value(key)}}"></json-view></td>
1532 </tr>
1533 </tbody>
1534 </table>
1535 </template>
1536 </template> 1528 </template>
1537 1529
1538 </polymer-element> 1530 </polymer-element>
1539 <polymer-element name="library-view" extends="observatory-element"> 1531 <polymer-element name="library-view" extends="observatory-element">
1540 <template> 1532 <template>
1541 <style> 1533 <style>
1542 .content { 1534 .content {
1543 padding-left: 10%; 1535 padding-left: 10%;
1544 font: 400 14px 'Montserrat', sans-serif; 1536 font: 400 14px 'Montserrat', sans-serif;
1545 } 1537 }
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
1827 <thead> 1819 <thead>
1828 <tr> 1820 <tr>
1829 <th>Method</th> 1821 <th>Method</th>
1830 <th>Caller</th> 1822 <th>Caller</th>
1831 <th>Exclusive</th> 1823 <th>Exclusive</th>
1832 </tr> 1824 </tr>
1833 </thead> 1825 </thead>
1834 <tbody> 1826 <tbody>
1835 <tr template="" repeat="{{row in tree.rows }}" style="{{}}"> 1827 <tr template="" repeat="{{row in tree.rows }}" style="{{}}">
1836 <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style= "{{ padding(row) }}"> 1828 <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style= "{{ padding(row) }}">
1829 <span id="expand" style="cursor: pointer;">{{ row.expander }}</spa n>
1837 <code-ref ref="{{ row.code }}"></code-ref> 1830 <code-ref ref="{{ row.code }}"></code-ref>
1838 </td> 1831 </td>
1839 <td class="{{ coloring(row) }}">{{row.columns[0]}}</td> 1832 <td class="{{ coloring(row) }}">{{row.columns[0]}}</td>
1840 <td class="{{ coloring(row) }}">{{row.columns[1]}}</td> 1833 <td class="{{ coloring(row) }}">{{row.columns[1]}}</td>
1841 </tr> 1834 </tr>
1842 </tbody> 1835 </tbody>
1843 </table> 1836 </table>
1844 </div> 1837 </div>
1845 </template> 1838 </template>
1846 1839
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1923 <li> 1916 <li>
1924 <input type="checkbox" checked="{{ showCoverage }}"> 1917 <input type="checkbox" checked="{{ showCoverage }}">
1925 <label>Show Coverage Data</label> 1918 <label>Show Coverage Data</label>
1926 </li> 1919 </li>
1927 </nav-menu> 1920 </nav-menu>
1928 <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav -refresh> 1921 <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav -refresh>
1929 <nav-refresh callback="{{ refresh }}"> 1922 <nav-refresh callback="{{ refresh }}">
1930 </nav-refresh> 1923 </nav-refresh>
1931 </nav-bar> 1924 </nav-bar>
1932 1925
1933 <div class="row"> 1926 <script-inset id="scriptInset" script="{{ script }}" pos="{{ script.firstToken Pos }}" endpos="{{ script.lastTokenPos }}">
1934 <div class="col-md-8 col-md-offset-2"> 1927 <h1>script {{ script.name }}</h1>
1935 <div class="panel-heading">Script source for: {{ script.name }}</div> 1928 </script-inset>
1936 <div class="panel-body">
1937 <table style="width:100%">
1938 <tbody>
1939 <tr template="" repeat="{{ line in script.lines }}">
1940 <td style="{{ hitsStyle(line) }}"> </td>
1941 <td style="font-family: consolas, courier, monospace;font-size: 1em; line-height: 1.2em;white-space: nowrap;">{{line.line}}</td>
1942 <td width="99%" style="font-family: consolas, courier, monospace;fon t-size: 1em;line-height: 1.2em;white-space: pre;">{{line.text}}</td>
1943 </tr>
1944 </tbody>
1945 </table>
1946 </div>
1947 </div>
1948 </div>
1949 </template> 1929 </template>
1950 1930
1951 </polymer-element> 1931 </polymer-element>
1952 <polymer-element name="stack-frame" extends="observatory-element"> 1932 <polymer-element name="stack-frame" extends="observatory-element">
1953 <template> 1933 <template>
1954 <style> 1934 <style>
1955 .memberList { 1935 .memberList {
1956 display: table; 1936 display: table;
1957 } 1937 }
1958 .memberItem { 1938 .memberItem {
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
2143 <template> 2123 <template>
2144 <a href="{{ url }}">{{ ref.name }}</a> 2124 <a href="{{ url }}">{{ ref.name }}</a>
2145 </template> 2125 </template>
2146 2126
2147 </polymer-element> 2127 </polymer-element>
2148 2128
2149 2129
2150 <observatory-application></observatory-application> 2130 <observatory-application></observatory-application>
2151 2131
2152 </body></html> 2132 </body></html>
OLDNEW
« no previous file with comments | « no previous file | runtime/bin/vmservice/client/deployed/web/index.html_bootstrap.dart.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698