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

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

Powered by Google App Engine
This is Rietveld 408576698