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

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

Issue 211283004: Support Types in instance-ref/instance-view (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js Created 6 years, 9 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 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 .memberItem { 282 .memberItem {
283 display: table-row; 283 display: table-row;
284 } 284 }
285 .memberName, .memberValue { 285 .memberName, .memberValue {
286 display: table-cell; 286 display: table-cell;
287 vertical-align: top; 287 vertical-align: top;
288 padding: 3px 0 3px 1em; 288 padding: 3px 0 3px 1em;
289 font: 400 14px 'Montserrat', sans-serif; 289 font: 400 14px 'Montserrat', sans-serif;
290 } 290 }
291 </style> 291 </style>
292 <div> 292 <span>
293 <template if="{{ isUnexpected(ref.serviceType) }}"> 293 <template if="{{ isUnexpected(ref.serviceType) }}">
294 unexpected reference type &lt;{{ ref.serviceType }}&gt; 294 unexpected reference type &lt;{{ ref.serviceType }}&gt;
295 </template> 295 </template>
296 296
297 <template if="{{ isError(ref.serviceType) }}"> 297 <template if="{{ isError(ref.serviceType) }}">
298 <pre>{{ ref.message }}</pre> 298 <pre>{{ ref.message }}</pre>
299 </template> 299 </template>
300 300
301 <template if="{{ isNull(ref.serviceType) }}"> 301 <template if="{{ isNull(ref.serviceType) }}">
302 <div title="{{ hoverText }}">{{ ref['preview'] }}</div> 302 <div title="{{ hoverText }}">{{ ref['preview'] }}</div>
303 </template> 303 </template>
304 304
305 <template if="{{ (isString(ref.serviceType) || 305 <template if="{{ (isString(ref.serviceType) ||
306 isBool(ref.serviceType) || 306 isBool(ref.serviceType) ||
307 isInt(ref.serviceType)) || 307 isInt(ref.serviceType)) ||
308 isDouble(ref.serviceType)) }}"> 308 isDouble(ref.serviceType)) }}">
309 <a href="{{ url }}">{{ ref['preview'] }}</a> 309 <a href="{{ url }}">{{ ref['preview'] }}</a>
310 </template> 310 </template>
311 311
312 <template if="{{ (isType(ref.serviceType)) }}">
313 <a href="{{ url }}">{{ ref['user_name'] }}</a>
314 </template>
315
312 <template if="{{ isClosure(ref.serviceType) }}"> 316 <template if="{{ isClosure(ref.serviceType) }}">
313 <a href="{{ url }}"> 317 <a href="{{ url }}">
314 <!-- TODO(turnidge): Switch this to fully-qualified function --> 318 <!-- TODO(turnidge): Switch this to fully-qualified function -->
315 {{ ref['closureFunc']['user_name'] }} 319 {{ ref['closureFunc']['user_name'] }}
316 </a> 320 </a>
317 </template> 321 </template>
318 322
319 <template if="{{ isInstance(ref.serviceType) }}"> 323 <template if="{{ isInstance(ref.serviceType) }}">
320 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a> 324 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a>
321 <curly-block callback="{{ expander() }}"> 325 <curly-block callback="{{ expander() }}">
(...skipping 20 matching lines...) Expand all
342 <div class="memberItem"> 346 <div class="memberItem">
343 <div class="memberName">[{{ element['index']}}]</div> 347 <div class="memberName">[{{ element['index']}}]</div>
344 <div class="memberValue"> 348 <div class="memberValue">
345 <instance-ref ref="{{ element['value'] }}"></instance-ref> 349 <instance-ref ref="{{ element['value'] }}"></instance-ref>
346 </div> 350 </div>
347 </div> 351 </div>
348 </template> 352 </template>
349 </div> 353 </div>
350 </curly-block> 354 </curly-block>
351 </template> 355 </template>
352 356 </span>
353 </div>
354 </template> 357 </template>
355 358
356 </polymer-element> 359 </polymer-element>
357 <polymer-element name="eval-box" extends="observatory-element"> 360 <polymer-element name="eval-box" extends="observatory-element">
358 <template> 361 <template>
359 <style> 362 <style>
360 .textbox { 363 .textbox {
361 width: 80ex; 364 width: 80ex;
362 font: 400 16px 'Montserrat', sans-serif; 365 font: 400 16px 'Montserrat', sans-serif;
363 } 366 }
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 439
437 <polymer-element name="field-ref" extends="service-ref"> 440 <polymer-element name="field-ref" extends="service-ref">
438 <template> 441 <template>
439 <div> 442 <div>
440 <template if="{{ ref['final'] }}"> final </template> 443 <template if="{{ ref['final'] }}"> final </template>
441 <template if="{{ ref['const'] }}"> const </template> 444 <template if="{{ ref['const'] }}"> const </template>
442 <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp; !ref['f inal'] &amp;&amp; !ref['const']) }}"> 445 <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp; !ref['f inal'] &amp;&amp; !ref['const']) }}">
443 var 446 var
444 </template> 447 </template>
445 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}"> 448 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}">
446 <class-ref ref="{{ ref['declared_type'] }}"></class-ref> 449 <instance-ref ref="{{ ref['declared_type'] }}"></instance-ref>
447 </template> 450 </template>
448 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> 451 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
449 </div> 452 </div>
450 </template> </polymer-element><polymer-element name="function-ref" extends="ser vice-ref"> 453 </template> </polymer-element>
454 <polymer-element name="function-ref" extends="service-ref">
451 <template><!-- These comments are here to allow newlines. 455 <template><!-- These comments are here to allow newlines.
452 --><template if="{{ qualified &amp;&amp; !hasParent &amp;&amp; hasClass }}" ><!-- 456 --><template if="{{ qualified &amp;&amp; !hasParent &amp;&amp; hasClass }}" ><!--
453 --><class-ref ref="{{ ref['class'] }}"></class-ref>.</template><!-- 457 --><class-ref ref="{{ ref['class'] }}"></class-ref>.</template><!--
454 --><template if="{{ qualified &amp;&amp; hasParent }}"><!-- 458 --><template if="{{ qualified &amp;&amp; hasParent }}"><!--
455 --><function-ref ref="{{ ref['parent'] }}" qualified="{{ true }}"> 459 --><function-ref ref="{{ ref['parent'] }}" qualified="{{ true }}">
456 </function-ref>.<!-- 460 </function-ref>.<!--
457 --></template><a href="{{ url }}">{{ name }}</a><!-- 461 --></template><a href="{{ url }}">{{ name }}</a><!--
458 --></template> 462 --></template>
459 463
460 </polymer-element> 464 </polymer-element>
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 </template> 798 </template>
795 </div> 799 </div>
796 </div> 800 </div>
797 </div> 801 </div>
798 </div> 802 </div>
799 </template> 803 </template>
800 804
801 </polymer-element> 805 </polymer-element>
802 <polymer-element name="function-view" extends="observatory-element"> 806 <polymer-element name="function-view" extends="observatory-element">
803 <template> 807 <template>
808 <style>
809 .content {
810 padding-left: 10%;
811 font: 400 14px 'Montserrat', sans-serif;
812 }
813 h1 {
814 font: 400 18px 'Montserrat', sans-serif;
815 }
816 .memberList {
817 display: table;
818 }
819 .memberItem {
820 display: table-row;
821 }
822 .memberName, .memberValue {
823 display: table-cell;
824 vertical-align: top;
825 padding: 3px 0 3px 1em;
826 font: 400 14px 'Montserrat', sans-serif;
827 }
828 </style>
829
804 <nav-bar> 830 <nav-bar>
805 <top-nav-menu></top-nav-menu> 831 <top-nav-menu></top-nav-menu>
806 <isolate-nav-menu isolate="{{ function.isolate }}"></isolate-nav-menu> 832 <isolate-nav-menu isolate="{{ function.isolate }}"></isolate-nav-menu>
807 <template if="{{ function['owner']['type'] == '@Class' }}"> 833 <template if="{{ function['owner']['type'] == '@Class' }}">
808 <!-- TODO(turnidge): Add library nav menu here. --> 834 <!-- TODO(turnidge): Add library nav menu here. -->
809 <class-nav-menu cls="{{ function['owner'] }}"></class-nav-menu> 835 <class-nav-menu cls="{{ function['owner'] }}"></class-nav-menu>
810 </template> 836 </template>
811 <template if="{{ function['owner']['type'] == '@Library' }}"> 837 <template if="{{ function['owner']['type'] == '@Library' }}">
812 <library-nav-menu library="{{ function['owner'] }}"></library-nav-menu> 838 <library-nav-menu library="{{ function['owner'] }}"></library-nav-menu>
813 </template> 839 </template>
814 <nav-menu link="." anchor="{{ function.name }}" last="{{ true }}"></nav-me nu> 840 <nav-menu link="." anchor="{{ function.name }}" last="{{ true }}"></nav-me nu>
815 <nav-refresh callback="{{ refresh }}"></nav-refresh> 841 <nav-refresh callback="{{ refresh }}"></nav-refresh>
816 </nav-bar> 842 </nav-bar>
817 843
818 <div class="row"> 844 <div class="content">
819 <div class="col-md-8 col-md-offset-2"> 845 <h1>function {{ qualifiedName }}</h1>
820 <div class="panel panel-warning"> 846
821 <div class="panel-heading"> 847 <div class="memberList">
822 {{ function['user_name'] }} ({{ function['name'] }}) 848 <div class="memberItem">
823 <class-ref ref="{{ function['class'] }}"></class-ref> 849 <div class="memberName">kind</div>
850 <div class="memberValue">
851 <template if="{{ function['is_static'] }}">static</template>
852 <template if="{{ function['is_const'] }}">const</template>
853 {{ kind }}
854 </div>
824 </div> 855 </div>
825 <div class="panel-body"> 856 <template if="{{ function['parent'] != null }}">
826 <div> 857 <div class="memberItem">
827 <code-ref ref="{{ function['code'] }}"></code-ref> 858 <div class="memberName">parent function</div>
828 <code-ref ref="{{ function['unoptimized_code'] }}"></code-ref> 859 <div class="memberValue">
860 <function-ref ref="{{ function['parent'] }}"></function-ref>
861 </div>
829 </div> 862 </div>
830 <table class="table table-hover"> 863 </template>
831 <tbody> 864 <template if="{{ function['parent'] == null &amp;&amp;
832 <tr> 865 function['class'] != null }}">
833 <td>static</td><td>{{ function['is_static'] }}</td> 866 <div class="memberItem">
834 </tr> 867 <div class="memberName">parent class</div>
835 <tr> 868 <div class="memberValue">
836 <td>Const</td><td>{{ function['is_const'] }}</td> 869 <class-ref ref="{{ function['class'] }}"></class-ref>
837 </tr> 870 </div>
838 <tr> 871 </div>
839 <td>Optimizable</td><td>{{ function['is_optimizable'] }}</td> 872 </template>
840 </tr> 873 <div class="memberItem">
841 <tr> 874 <div class="memberName">script</div>
842 <td>Inlinable</td><td>{{ function['is_inlinable'] }}</td> 875 <div class="memberValue">
843 </tr> 876 <script-ref ref="{{ function['script'] }}">
844 <tr> 877 </script-ref>
845 <td>Kind</td><td>{{ function['kind'] }}</td> 878 </div>
846 </tr>
847 <tr>
848 <td>Usage Count</td><td>{{ function['usage_counter'] }}</td>
849 </tr>
850 <tr>
851 <td>Optimized Call Site Count</td><td>{{ function['optimized_cal l_site_count'] }}</td>
852 </tr>
853 <tr>
854 <td>Deoptimizations</td><td>{{ function['deoptimizations'] }}</t d>
855 </tr>
856 </tbody>
857 </table>
858 </div> 879 </div>
859 </div> 880
881 <div class="memberItem">&nbsp;</div>
882
883 <template if="{{ function['code'] != null }}">
884 <div class="memberItem">
885 <div class="memberName">optimized code</div>
886 <div class="memberValue">
887 <code-ref ref="{{ function['code'] }}"></code-ref>
888 </div>
889 </div>
890 </template>
891 <template if="{{ function['unoptimized_code'] != null }}">
892 <div class="memberItem">
893 <div class="memberName">unoptimized code</div>
894 <div class="memberValue">
895 <code-ref ref="{{ function['unoptimized_code'] }}"></code-ref>
896 </div>
897 <div class="memberValue">
898 <span title="This count is used to determine when a function wil l be optimized. It is a combination of call counts and other factors.">
899 (usage count: {{ function['usage_counter'] }})
900 </span>
901 </div>
902 </div>
903 </template>
904 <div class="memberItem">
905 <div class="memberName">deoptimizations</div>
906 <div class="memberValue">{{ function['deoptimizations'] }}</div>
907 </div>
908 <div class="memberItem">
909 <div class="memberName">optimizable</div>
910 <div class="memberValue">{{ function['is_optimizable'] }}</div>
911 </div>
912 <div class="memberItem">
913 <div class="memberName">inlinable</div>
914 <div class="memberValue">{{ function['is_inlinable'] }}</div>
915 </div>
916 <template if="{{ function.name != function.vmName }}">
917 <div class="memberItem">
918 <div class="memberName">vm name</div>
919 <div class="memberValue">{{ function.vmName }}</div>
920 </div>
921 </template>
922 </div>
860 </div> 923 </div>
861 </div>
862 </template> 924 </template>
863 925
864 </polymer-element> 926 </polymer-element>
865 <polymer-element name="heap-map" extends="observatory-element"> 927 <polymer-element name="heap-map" extends="observatory-element">
866 <template> 928 <template>
867 <nav-bar> 929 <nav-bar>
868 <top-nav-menu></top-nav-menu> 930 <top-nav-menu></top-nav-menu>
869 <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu> 931 <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu>
870 <nav-menu link="." anchor="heap map" last="{{ true }}"></nav-menu> 932 <nav-menu link="." anchor="heap map" last="{{ true }}"></nav-menu>
871 <nav-refresh callback="{{ refresh }}"></nav-refresh> 933 <nav-refresh callback="{{ refresh }}"></nav-refresh>
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1208 } 1270 }
1209 </style> 1271 </style>
1210 1272
1211 <template if="{{ instance['error'] != null }}"> 1273 <template if="{{ instance['error'] != null }}">
1212 <error-view error_obj="{{ instance['error'] }}"></error-view> 1274 <error-view error_obj="{{ instance['error'] }}"></error-view>
1213 </template> 1275 </template>
1214 1276
1215 <template if="{{ instance['error'] == null }}"> 1277 <template if="{{ instance['error'] == null }}">
1216 <div class="content"> 1278 <div class="content">
1217 <!-- TODO(turnidge): Handle null instances. --> 1279 <!-- TODO(turnidge): Handle null instances. -->
1218 <h1>instance of {{ instance['class']['user_name'] }}</h1> 1280 <template if="{{ isType(instance.serviceType) }}">
1281 <h1>type {{ instance['user_name'] }}</h1>
1282 </template>
1283 <template if="{{ !isType(instance.serviceType) }}">
1284 <h1>instance of {{ instance['class']['user_name'] }}</h1>
1285 </template>
1219 <div class="memberList"> 1286 <div class="memberList">
1220 <div class="memberItem"> 1287 <div class="memberItem">
1221 <div class="memberName">class</div> 1288 <div class="memberName">class</div>
1222 <div class="memberValue"> 1289 <div class="memberValue">
1223 <class-ref ref="{{ instance['class'] }}"> 1290 <class-ref ref="{{ instance['class'] }}">
1224 </class-ref> 1291 </class-ref>
1225 </div> 1292 </div>
1226 </div> 1293 </div>
1227 <template if="{{ instance['preview'] != null }}"> 1294 <template if="{{ instance['preview'] != null }}">
1228 <div class="memberItem"> 1295 <div class="memberItem">
1229 <div class="memberName">preview</div> 1296 <div class="memberName">preview</div>
1230 <div class="memberValue">{{ instance['preview'] }}</div> 1297 <div class="memberValue">{{ instance['preview'] }}</div>
1231 </div> 1298 </div>
1232 </template> 1299 </template>
1233 <div class="memberItem"> 1300 <div class="memberItem">
1234 <div class="memberName">size</div> 1301 <div class="memberName">size</div>
1235 <div class="memberValue">{{ instance['size'] | formatSize }}</div> 1302 <div class="memberValue">{{ instance['size'] | formatSize }}</div>
1236 </div> 1303 </div>
1304 <template if="{{ instance['type_class'] != null }}">
1305 <div class="memberItem">
1306 <div class="memberName">type class</div>
1307 <div class="memberValue">
1308 <class-ref ref="{{ instance['type_class'] }}">
1309 </class-ref>
1310 </div>
1311 </div>
1312 </template>
1237 </div> 1313 </div>
1238 </div> 1314 </div>
1239 1315
1240 <hr> 1316 <hr>
1241 1317
1242 <div class="content"> 1318 <div class="content">
1243 <template if="{{ instance['fields'].isNotEmpty }}"> 1319 <template if="{{ instance['fields'].isNotEmpty }}">
1244 fields ({{ instance['fields'].length }}) 1320 fields ({{ instance['fields'].length }})
1245 <curly-block> 1321 <curly-block>
1246 <div class="memberList"> 1322 <div class="memberList">
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
1938 <template> 2014 <template>
1939 <a href="{{ url }}">{{ ref.name }}</a> 2015 <a href="{{ url }}">{{ ref.name }}</a>
1940 </template> 2016 </template>
1941 2017
1942 </polymer-element> 2018 </polymer-element>
1943 2019
1944 2020
1945 <observatory-application></observatory-application> 2021 <observatory-application></observatory-application>
1946 2022
1947 </body></html> 2023 </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