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

Side by Side Diff: runtime/bin/vmservice/observatory/deployed/web/index_devtools.html

Issue 511413002: Revert "Give instances their own model class; move DartErrors out of instance-ref into their own er… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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> 1 <!DOCTYPE html><html><head>
2 <title>Dart VM Observatory</title> 2 <title>Dart VM Observatory</title>
3 <meta charset="utf-8"> 3 <meta charset="utf-8">
4 4
5 5
6 6
7 7
8 8
9 9
10 10
(...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 background-color: #f5f5f5; 914 background-color: #f5f5f5;
915 border: 1px solid #ccc; 915 border: 1px solid #ccc;
916 padding: 10px; 916 padding: 10px;
917 font-family: consolas, courier, monospace; 917 font-family: consolas, courier, monospace;
918 font-size: 1em; 918 font-size: 1em;
919 line-height: 1.2em; 919 line-height: 1.2em;
920 white-space: pre; 920 white-space: pre;
921 } 921 }
922 </style> 922 </style>
923 <span> 923 <span>
924 <template if="{{ ref.isSentinel }}"> 924 <template if="{{ isError(ref) }}">
925 <div title="{{ hoverText }}">{{ ref.valueAsString }}</div> 925 <pre class="errorBox">{{ ref.message }}</pre>
926 </template> 926 </template>
927 927
928 <template if="{{ ref.isString || ref.isBool || ref.isInt || ref.isDouble | | ref.isNull }}"> 928 <template if="{{ isUnexpected(ref) }}">
929 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.valueAsString }}</a> 929 unexpected reference type &lt;{{ ref.serviceType }}&gt;
930 </template> 930 </template>
931 931
932 <template if="{{ ref.isType }}"> 932 <template if="{{ isSentinel(ref) }}">
933 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> 933 <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div>
934 </template> 934 </template>
935 935
936 <template if="{{ ref.isClosure }}"> 936 <template if="{{ (isString(ref) ||
937 isBool(ref) ||
938 isNull(ref) ||
939 isInt(ref)) ||
940 isDouble(ref)) }}">
941 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref['valueAsString'] }}</a >
942 </template>
943
944 <template if="{{ (isType(ref)) }}">
945 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref['user_name'] }}</a>
946 </template>
947
948 <template if="{{ isInstance(ref) &amp;&amp;
949 ref['closureFunc'] != null}}">
937 <a on-click="{{ goto }}" _href="{{ url }}"> 950 <a on-click="{{ goto }}" _href="{{ url }}">
938 <!-- TODO(turnidge): Switch this to fully-qualified function --> 951 <!-- TODO(turnidge): Switch this to fully-qualified function -->
939 {{ ref.closureFunc.name }} 952 {{ ref['closureFunc'].name }}
940 </a> 953 </a>
941 </template> 954 </template>
942 955
943 <template if="{{ ref.isInstance &amp;&amp; !ref.isClosure }}"> 956 <template if="{{ isInstance(ref) &amp;&amp;
944 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em> </a> 957 ref['closureFunc'] == null}}">
958 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref['class'].name }}</ em></a>
945 <curly-block callback="{{ expander() }}"> 959 <curly-block callback="{{ expander() }}">
946 <div class="memberList"> 960 <div class="memberList">
947 <template repeat="{{ field in ref.fields }}"> 961 <template repeat="{{ field in ref['fields'] }}">
948 <div class="memberItem"> 962 <div class="memberItem">
949 <div class="memberName"> 963 <div class="memberName">
950 {{ field['decl']['user_name'] }} 964 {{ field['decl']['user_name'] }}
951 </div> 965 </div>
952 <div class="memberValue"> 966 <div class="memberValue">
953 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> 967 <instance-ref ref="{{ field['value'] }}"></instance-ref>
954 </div> 968 </div>
955 </div> 969 </div>
956 </template> 970 </template>
957 </div> 971 </div>
958 </curly-block> 972 </curly-block>
959 </template> 973 </template>
960 974
961 <template if="{{ ref.isList }}"> 975 <template if="{{ isList(ref) }}">
962 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em> ({{ ref.length }})</a> 976 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref['class'].name }}</ em> ({{ ref['length']}})</a>
963 <curly-block callback="{{ expander() }}"> 977 <curly-block callback="{{ expander() }}">
964 <div class="memberList"> 978 <div class="memberList">
965 <template repeat="{{ element in ref.elements }}"> 979 <template repeat="{{ element in ref['elements'] }}">
966 <div class="memberItem"> 980 <div class="memberItem">
967 <div class="memberName">[{{ element['index']}}]</div> 981 <div class="memberName">[{{ element['index']}}]</div>
968 <div class="memberValue"> 982 <div class="memberValue">
969 <any-service-ref ref="{{ element['value'] }}"> 983 <instance-ref ref="{{ element['value'] }}"></instance-ref>
970 </any-service-ref></div> 984 </div>
971 </div> 985 </div>
972 </template> 986 </template>
973 </div> 987 </div>
974 </curly-block> 988 </curly-block>
975 </template> 989 </template>
976 </span> 990 </span>
977 </template> 991 </template>
978 </polymer-element> 992 </polymer-element>
979 993
980 994
(...skipping 1554 matching lines...) Expand 10 before | Expand all | Expand 10 after
2535 2549
2536 2550
2537 2551
2538 2552
2539 2553
2540 2554
2541 2555
2542 2556
2543 2557
2544 2558
2545
2546
2547
2548
2549
2550
2551 <polymer-element name="error-ref" extends="service-ref">
2552 <template>
2553 <style>
2554 /* Global styles */
2555 * {
2556 margin: 0;
2557 padding: 0;
2558 font: 400 14px 'Montserrat', sans-serif;
2559 color: #333;
2560 box-sizing: border-box;
2561 }
2562
2563 .content {
2564 padding-left: 10%;
2565 font: 400 14px 'Montserrat', sans-serif;
2566 }
2567
2568 .content-centered {
2569 padding-left: 10%;
2570 padding-right: 10%;
2571 font: 400 14px 'Montserrat', sans-serif;
2572 }
2573
2574 .content-centered-big {
2575 padding-left: 5%;
2576 padding-right: 5%;
2577 font: 400 14px 'Montserrat', sans-serif;
2578 }
2579
2580 h1 {
2581 font: 400 18px 'Montserrat', sans-serif;
2582 }
2583
2584 .memberList {
2585 display: table;
2586 }
2587
2588 .memberItem {
2589 display: table-row;
2590 }
2591
2592 .memberName, .memberValue {
2593 display: table-cell;
2594 vertical-align: top;
2595 padding: 3px 0 3px 1em;
2596 font: 400 14px 'Montserrat', sans-serif;
2597 }
2598
2599 .memberSmall {
2600 display: table-cell;
2601 vertical-align: top;
2602 padding: 3px 0 3px 1em;
2603 font: 400 12px 'Montserrat', sans-serif;
2604 }
2605
2606 .monospace {
2607 font-family: consolas, courier, monospace;
2608 font-size: 1em;
2609 line-height: 1.2em;
2610 white-space: nowrap;
2611 }
2612
2613 a {
2614 color: #0489c3;
2615 text-decoration: none;
2616 }
2617
2618 a:hover {
2619 text-decoration: underline;
2620 }
2621
2622 em {
2623 color: inherit;
2624 font-style: italic;
2625 }
2626
2627 b {
2628 color: inherit;
2629 font-weight: bold;
2630 }
2631
2632 hr {
2633 margin-top: 20px;
2634 margin-bottom: 20px;
2635 border: 0;
2636 border-top: 1px solid #eee;
2637 height: 0;
2638 box-sizing: content-box;
2639 }
2640
2641 .list-group {
2642 padding-left: 0;
2643 margin-bottom: 20px;
2644 }
2645
2646 .list-group-item {
2647 position: relative;
2648 display: block;
2649 padding: 10px 15px;
2650 margin-bottom: -1px;
2651 background-color: #fff;
2652 }
2653
2654 .list-group-item:first-child {
2655 /* rounded top corners */
2656 border-top-right-radius:4px;
2657 border-top-left-radius:4px;
2658 }
2659
2660 .list-group-item:last-child {
2661 margin-bottom: 0;
2662 /* rounded bottom corners */
2663 border-bottom-right-radius: 4px;
2664 border-bottom-left-radius:4px;
2665 }
2666
2667 /* Flex row container */
2668 .flex-row {
2669 display: flex;
2670 flex-direction: row;
2671 }
2672
2673 /* Flex column container */
2674 .flex-column {
2675 display: flex;
2676 flex-direction: column;
2677 }
2678
2679 .flex-item-fit {
2680 flex-grow: 1;
2681 flex-shrink: 1;
2682 flex-basis: auto;
2683 }
2684
2685 .flex-item-no-shrink {
2686 flex-grow: 0;
2687 flex-shrink: 0;
2688 flex-basis: auto;
2689 }
2690
2691 .flex-item-fill {
2692 flex-grow: 0;
2693 flex-shrink: 1; /* shrink when pressured */
2694 flex-basis: 100%; /* try and take 100% */
2695 }
2696
2697 .flex-item-fixed-1-12 {
2698 flex-grow: 0;
2699 flex-shrink: 0;
2700 flex-basis: 8.3%;
2701 }
2702
2703 .flex-item-fixed-2-12 {
2704 flex-grow: 0;
2705 flex-shrink: 0;
2706 flex-basis: 16.6%;
2707 }
2708
2709 .flex-item-fixed-4-12 {
2710 flex-grow: 0;
2711 flex-shrink: 0;
2712 flex-basis: 33.3333%;
2713 }
2714
2715 .flex-item-fixed-6-12, .flex-item-50-percent {
2716 flex-grow: 0;
2717 flex-shrink: 0;
2718 flex-basis: 50%;
2719 }
2720
2721 .flex-item-fixed-8-12 {
2722 flex-grow: 0;
2723 flex-shrink: 0;
2724 flex-basis: 66.6666%;
2725 }
2726
2727 .flex-item-fixed-9-12 {
2728 flex-grow: 0;
2729 flex-shrink: 0;
2730 flex-basis: 75%;
2731 }
2732
2733
2734 .flex-item-fixed-12-12 {
2735 flex-grow: 0;
2736 flex-shrink: 0;
2737 flex-basis: 100%;
2738 }
2739
2740 .flex-item-10-percent {
2741 flex-grow: 0;
2742 flex-shrink: 0;
2743 flex-basis: 10%;
2744 }
2745
2746 .flex-item-15-percent {
2747 flex-grow: 0;
2748 flex-shrink: 0;
2749 flex-basis: 15%;
2750 }
2751
2752 .flex-item-20-percent {
2753 flex-grow: 0;
2754 flex-shrink: 0;
2755 flex-basis: 20%;
2756 }
2757
2758 .flex-item-30-percent {
2759 flex-grow: 0;
2760 flex-shrink: 0;
2761 flex-basis: 30%;
2762 }
2763
2764 .flex-item-40-percent {
2765 flex-grow: 0;
2766 flex-shrink: 0;
2767 flex-basis: 40%;
2768 }
2769
2770 .flex-item-50-percent {
2771 flex-grow: 0;
2772 flex-shrink: 0;
2773 flex-basis: 50%;
2774 }
2775
2776 .flex-item-60-percent {
2777 flex-grow: 0;
2778 flex-shrink: 0;
2779 flex-basis: 60%;
2780 }
2781
2782 .flex-item-70-percent {
2783 flex-grow: 0;
2784 flex-shrink: 0;
2785 flex-basis: 70%;
2786 }
2787
2788 .flex-item-80-percent {
2789 flex-grow: 0;
2790 flex-shrink: 0;
2791 flex-basis: 80%;
2792 }
2793
2794 .well {
2795 min-height: 20px;
2796 padding: 19px;
2797 margin-bottom: 20px;
2798 background-color: #f5f5f5;
2799 border: 1px solid #e3e3e3;
2800 border-radius: 4px;
2801 box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
2802 }
2803
2804 .break-wrap {
2805 word-wrap: break-word;
2806 }
2807 </style>
2808 <style>
2809 .errorBox {
2810 background-color: #f5f5f5;
2811 border: 1px solid #ccc;
2812 padding: 10px;
2813 font-family: consolas, courier, monospace;
2814 font-size: 1em;
2815 line-height: 1.2em;
2816 white-space: pre;
2817 }
2818 </style>
2819 <span>
2820 <pre class="errorBox">{{ ref.kind }}: {{ ref.message }}</pre>
2821 </span>
2822 </template>
2823 </polymer-element>
2824
2825 <polymer-element name="eval-box" extends="observatory-element"> 2559 <polymer-element name="eval-box" extends="observatory-element">
2826 <template> 2560 <template>
2827 <style> 2561 <style>
2828 .textbox { 2562 .textbox {
2829 width: 80ex; 2563 width: 80ex;
2830 font: 400 16px 'Montserrat', sans-serif; 2564 font: 400 16px 'Montserrat', sans-serif;
2831 } 2565 }
2832 .bigtextbox { 2566 .bigtextbox {
2833 font: 400 16px 'Montserrat', sans-serif; 2567 font: 400 16px 'Montserrat', sans-serif;
2834 } 2568 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
2885 <table> 2619 <table>
2886 <tbody><tr template="" repeat="{{ result in results }}"> 2620 <tbody><tr template="" repeat="{{ result in results }}">
2887 <td class="historyExpr"> 2621 <td class="historyExpr">
2888 <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr'] }}">{{ result['expr'] }}</a> 2622 <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr'] }}">{{ result['expr'] }}</a>
2889 </td> 2623 </td>
2890 <td class="historyValue"> 2624 <td class="historyValue">
2891 <template if="{{ result['value'] == null }}"> 2625 <template if="{{ result['value'] == null }}">
2892 <div style="color:#aaa;cursor:wait;">&lt;pending&gt;</div> 2626 <div style="color:#aaa;cursor:wait;">&lt;pending&gt;</div>
2893 </template> 2627 </template>
2894 <template if="{{ result['value'] != null }}"> 2628 <template if="{{ result['value'] != null }}">
2895 <any-service-ref ref="{{ result['value'] }}"></any-service-ref> 2629 <instance-ref ref="{{ result['value'] }}"></instance-ref>
2896 </template> 2630 </template>
2897 </td> 2631 </td>
2898 </tr> 2632 </tr>
2899 </tbody></table> 2633 </tbody></table>
2900 </template> 2634 </template>
2901 </template> 2635 </template>
2902 </polymer-element> 2636 </polymer-element>
2903 2637
2904 2638
2905 2639
2906 2640
2907 2641
2908
2909 <polymer-element name="eval-link"> 2642 <polymer-element name="eval-link">
2910 <template> 2643 <template>
2911 <style> 2644 <style>
2912 .idle { 2645 .idle {
2913 color: #0489c3; 2646 color: #0489c3;
2914 cursor: pointer; 2647 cursor: pointer;
2915 } 2648 }
2916 .busy { 2649 .busy {
2917 color: #aaa; 2650 color: #aaa;
2918 cursor: wait; 2651 cursor: wait;
2919 } 2652 }
2920 </style> 2653 </style>
2921 2654
2922 <template if="{{ busy }}"> 2655 <template if="{{ busy }}">
2923 <span class="busy">{{ label }}</span> 2656 <span class="busy">{{ label }}</span>
2924 </template> 2657 </template>
2925 <template if="{{ !busy }}"> 2658 <template if="{{ !busy }}">
2926 <span class="idle"><a on-click="{{ evalNow }}">{{ label }}</a></span> 2659 <span class="idle"><a on-click="{{ evalNow }}">{{ label }}</a></span>
2927 </template> 2660 </template>
2928 <template if="{{ result != null }}"> 2661 <template if="{{ result != null }}">
2929 = <any-service-ref ref="{{ result }}"></any-service-ref> 2662 = <instance-ref ref="{{ result }}"></instance-ref>
2930 </template> 2663 </template>
2931 </template> 2664 </template>
2932 </polymer-element> 2665 </polymer-element>
2933 2666
2934 2667
2935 2668
2936 2669
2937 2670
2938 2671
2939 2672
(...skipping 1555 matching lines...) Expand 10 before | Expand all | Expand 10 after
4495 <template if="{{ cls.name != cls.vmName }}"> 4228 <template if="{{ cls.name != cls.vmName }}">
4496 <div class="memberItem"> 4229 <div class="memberItem">
4497 <div class="memberName">vm name</div> 4230 <div class="memberName">vm name</div>
4498 <div class="memberValue">{{ cls.vmName }}</div> 4231 <div class="memberValue">{{ cls.vmName }}</div>
4499 </div> 4232 </div>
4500 </template> 4233 </template>
4501 </div> 4234 </div>
4502 </div> 4235 </div>
4503 4236
4504 <template if="{{ cls.error != null }}"> 4237 <template if="{{ cls.error != null }}">
4505 <error-ref ref="{{ cls.error }}"> 4238 <!-- TODO(turnidge): Don't use instance-ref for error display here -->
4506 </error-ref></template> 4239 <instance-ref ref="{{ cls.error }}"></instance-ref>
4240 </template>
4507 4241
4508 <hr> 4242 <hr>
4509 4243
4510 <div class="content"> 4244 <div class="content">
4511 <template if="{{ cls.fields.isNotEmpty }}"> 4245 <template if="{{ cls.fields.isNotEmpty }}">
4512 fields ({{ cls.fields.length }}) 4246 fields ({{ cls.fields.length }})
4513 <curly-block expand="{{ cls.fields.length <= 8 }}"> 4247 <curly-block expand="{{ cls.fields.length <= 8 }}">
4514 <div class="memberList"> 4248 <div class="memberList">
4515 <template repeat="{{ field in cls.fields }}"> 4249 <template repeat="{{ field in cls.fields }}">
4516 <div class="memberItem"> 4250 <div class="memberItem">
4517 <div class="memberName"> 4251 <div class="memberName">
4518 <field-ref ref="{{ field }}"></field-ref> 4252 <field-ref ref="{{ field }}"></field-ref>
4519 </div> 4253 </div>
4520 <div class="memberValue"> 4254 <div class="memberValue">
4521 <template if="{{ field['value'] != null }}"> 4255 <template if="{{ field['value'] != null }}">
4522 <any-service-ref ref="{{ field['value'] }}"></any-service-re f> 4256 <instance-ref ref="{{ field['value'] }}"></instance-ref>
4523 </template> 4257 </template>
4524 </div> 4258 </div>
4525 </div> 4259 </div>
4526 </template> 4260 </template>
4527 </div> 4261 </div>
4528 </curly-block><br><br> 4262 </curly-block><br><br>
4529 </template> 4263 </template>
4530 4264
4531 <template if="{{ cls.functions.isNotEmpty }}"> 4265 <template if="{{ cls.functions.isNotEmpty }}">
4532 functions ({{ cls.functions.length }}) 4266 functions ({{ cls.functions.length }})
(...skipping 22 matching lines...) Expand all
4555 </div> 4289 </div>
4556 <div class="memberItem"> 4290 <div class="memberItem">
4557 <div class="memberName">strongly reachable</div> 4291 <div class="memberName">strongly reachable</div>
4558 <div class="memberValue"> 4292 <div class="memberValue">
4559 <template if="{{ instances == null }}"> 4293 <template if="{{ instances == null }}">
4560 <eval-link callback="{{ reachable }}" label="[find]" expr="100"> 4294 <eval-link callback="{{ reachable }}" label="[find]" expr="100">
4561 </eval-link> 4295 </eval-link>
4562 </template> 4296 </template>
4563 <template if="{{ instances != null }}"> 4297 <template if="{{ instances != null }}">
4564 sample 4298 sample
4565 <any-service-ref ref="{{ instances['sample'] }}"></any-service-r ef> 4299 <instance-ref ref="{{ instances['sample'] }}"></instance-ref>
4566 <template if="{{ instances['totalCount'] > instances['sampleCoun t'] }}"> 4300 <template if="{{ instances['totalCount'] > instances['sampleCoun t'] }}">
4567 <eval-link callback="{{ reachable }}" label="[more]" expr="{{ instances['sampleCount'] * 2 }}"> 4301 <eval-link callback="{{ reachable }}" label="[more]" expr="{{ instances['sampleCount'] * 2 }}">
4568 </eval-link> 4302 </eval-link>
4569 </template> 4303 </template>
4570 of total {{ instances['totalCount'] }} 4304 of total {{ instances['totalCount'] }}
4571 </template> 4305 </template>
4572 </div> 4306 </div>
4573 </div> 4307 </div>
4574 <div class="memberItem"> 4308 <div class="memberItem">
4575 <div class="memberName">retained size</div> 4309 <div class="memberName">retained size</div>
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
5222 <div class="memberName">Inclusive</div> 4956 <div class="memberName">Inclusive</div>
5223 <div class="memberValue">{{ code.formattedInclusiveTicks }}</div> 4957 <div class="memberValue">{{ code.formattedInclusiveTicks }}</div>
5224 </div> 4958 </div>
5225 <div class="memberItem"> 4959 <div class="memberItem">
5226 <div class="memberName">Exclusive</div> 4960 <div class="memberName">Exclusive</div>
5227 <div class="memberValue">{{ code.formattedExclusiveTicks }}</div> 4961 <div class="memberValue">{{ code.formattedExclusiveTicks }}</div>
5228 </div> 4962 </div>
5229 <div class="memberItem"> 4963 <div class="memberItem">
5230 <div class="memberName">Constant object pool</div> 4964 <div class="memberName">Constant object pool</div>
5231 <div class="memberValue"> 4965 <div class="memberValue">
5232 <any-service-ref ref="{{ code.objectPool }}"></any-service-ref> 4966 <instance-ref ref="{{ code.objectPool }}"></instance-ref>
5233 </div> 4967 </div>
5234 </div> 4968 </div>
5235 </div> 4969 </div>
5236 </div> 4970 </div>
5237 <hr> 4971 <hr>
5238 <div class="content"> 4972 <div class="content">
5239 <template if="{{ code.hasDisassembly }}"> 4973 <template if="{{ code.hasDisassembly }}">
5240 <div class="flex-row"> 4974 <div class="flex-row">
5241 <div class="flex-item-fixed-2-12 memberHeader">Inclusive</div> 4975 <div class="flex-item-fixed-2-12 memberHeader">Inclusive</div>
5242 <div class="flex-item-fixed-2-12 memberHeader">Exclusive</div> 4976 <div class="flex-item-fixed-2-12 memberHeader">Exclusive</div>
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
5906 — null not observed 5640 — null not observed
5907 </template> 5641 </template>
5908 </template> 5642 </template>
5909 </div> 5643 </div>
5910 </div> 5644 </div>
5911 </template> 5645 </template>
5912 <template if="{{ field['value'] != null }}"> 5646 <template if="{{ field['value'] != null }}">
5913 <div class="memberItem"> 5647 <div class="memberItem">
5914 <div class="memberName">static value</div> 5648 <div class="memberName">static value</div>
5915 <div class="memberValue"> 5649 <div class="memberValue">
5916 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> 5650 <instance-ref ref="{{ field['value'] }}"></instance-ref>
5917 </div> 5651 </div>
5918 </div> 5652 </div>
5919 </template> 5653 </template>
5920 </div> 5654 </div>
5921 </div> 5655 </div>
5922 </template> 5656 </template>
5923 </polymer-element> 5657 </polymer-element>
5924 5658
5925 5659
5926 5660
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
6202 <function-ref ref="{{ frame['function'] }}"></function-ref> 5936 <function-ref ref="{{ frame['function'] }}"></function-ref>
6203 ( <script-ref ref="{{ frame['script'] }}" pos="{{ frame['tokenPos'] }} "> 5937 ( <script-ref ref="{{ frame['script'] }}" pos="{{ frame['tokenPos'] }} ">
6204 </script-ref> ) 5938 </script-ref> )
6205 5939
6206 <curly-block> 5940 <curly-block>
6207 <div class="memberList"> 5941 <div class="memberList">
6208 <template repeat="{{ v in frame['vars'] }}"> 5942 <template repeat="{{ v in frame['vars'] }}">
6209 <div class="memberItem"> 5943 <div class="memberItem">
6210 <div class="memberName">{{ v['name']}}</div> 5944 <div class="memberName">{{ v['name']}}</div>
6211 <div class="memberValue"> 5945 <div class="memberValue">
6212 <any-service-ref ref="{{ v['value'] }}"></any-service-ref> 5946 <instance-ref ref="{{ v['value'] }}"></instance-ref>
6213 </div> 5947 </div>
6214 </div> 5948 </div>
6215 </template> 5949 </template>
6216 </div> 5950 </div>
6217 </curly-block> 5951 </curly-block>
6218 </div> 5952 </div>
6219 <div class="flex-item-fixed-1-12"> 5953 <div class="flex-item-fixed-1-12">
6220 </div> 5954 </div>
6221 </div> 5955 </div>
6222 </template> 5956 </template>
(...skipping 8563 matching lines...) Expand 10 before | Expand all | Expand 10 after
14786 } 14520 }
14787 14521
14788 .break-wrap { 14522 .break-wrap {
14789 word-wrap: break-word; 14523 word-wrap: break-word;
14790 } 14524 }
14791 </style> 14525 </style>
14792 <nav-bar> 14526 <nav-bar>
14793 <top-nav-menu></top-nav-menu> 14527 <top-nav-menu></top-nav-menu>
14794 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> 14528 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu>
14795 <!-- TODO(turnidge): Add library nav menu here. --> 14529 <!-- TODO(turnidge): Add library nav menu here. -->
14796 <class-nav-menu cls="{{ instance.clazz }}"></class-nav-menu> 14530 <class-nav-menu cls="{{ instance['class'] }}"></class-nav-menu>
14797 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> 14531 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu>
14798 <nav-refresh callback="{{ refresh }}"></nav-refresh> 14532 <nav-refresh callback="{{ refresh }}"></nav-refresh>
14799 <nav-control></nav-control> 14533 <nav-control></nav-control>
14800 </nav-bar> 14534 </nav-bar>
14801 14535
14802 <template if="{{ instance.isError }}"> 14536 <template if="{{ instance['error'] != null }}">
14803 <error-view error_obj="{{ instance['error'] }}"></error-view> 14537 <error-view error_obj="{{ instance['error'] }}"></error-view>
14804 </template> 14538 </template>
14805 14539
14806 <template if="{{ !instance.isError }}"> 14540 <template if="{{ instance['error'] == null }}">
14807 <div class="content"> 14541 <div class="content">
14808 <template if="{{ instance.isType }}"> 14542 <!-- TODO(turnidge): Handle null instances. -->
14543 <template if="{{ isType(instance) }}">
14809 <h1>type {{ instance.name }}</h1> 14544 <h1>type {{ instance.name }}</h1>
14810 </template> 14545 </template>
14811 <template if="{{ !instance.isType }}"> 14546 <template if="{{ !isType(instance) }}">
14812 <h1>instance of {{ instance.clazz.name }}</h1> 14547 <h1>instance of {{ instance['class'].name }}</h1>
14813 </template> 14548 </template>
14814 <div class="memberList"> 14549 <div class="memberList">
14815 <div class="memberItem"> 14550 <div class="memberItem">
14816 <div class="memberName">class</div> 14551 <div class="memberName">class</div>
14817 <div class="memberValue"> 14552 <div class="memberValue">
14818 <class-ref ref="{{ instance.clazz }}"> 14553 <class-ref ref="{{ instance['class'] }}">
14819 </class-ref> 14554 </class-ref>
14820 </div> 14555 </div>
14821 </div> 14556 </div>
14822 <template if="{{ instance.valueAsString != null }}"> 14557 <template if="{{ instance['valueAsString'] != null }}">
14823 <div class="memberItem"> 14558 <div class="memberItem">
14824 <div class="memberName">value</div> 14559 <div class="memberName">value</div>
14825 <div class="memberValue">{{ instance.valueAsString }}</div> 14560 <div class="memberValue">{{ instance['valueAsString'] }}</div>
14826 </div> 14561 </div>
14827 </template> 14562 </template>
14828 <div class="memberItem" title="Space for this object in memory"> 14563 <div class="memberItem">
14829 <div class="memberName">size</div> 14564 <div class="memberName">size</div>
14830 <div class="memberValue">{{ instance.size | formatSize }}</div> 14565 <div class="memberValue">{{ instance['size'] | formatSize }}</div>
14831 </div> 14566 </div>
14832 <div class="memberItem" title="Space that would be reclaimed if refere nces to this object were replaced with null"> 14567 <div class="memberItem">
14833 <div class="memberName">retained size</div> 14568 <div class="memberName">retained size</div>
14834 <div class="memberValue"> 14569 <div class="memberValue">
14835 <template if="{{ retainedBytes == null }}"> 14570 <template if="{{ retainedBytes == null }}">
14836 <eval-link callback="{{ retainedSize }}" label="[calculate]"> 14571 <eval-link callback="{{ retainedSize }}" label="[calculate]">
14837 </eval-link> 14572 </eval-link>
14838 </template> 14573 </template>
14839 <template if="{{ retainedBytes != null }}"> 14574 <template if="{{ retainedBytes != null }}">
14840 {{ retainedBytes | formatSize }} 14575 {{ retainedBytes | formatSize }}
14841 </template> 14576 </template>
14842 </div> 14577 </div>
(...skipping 21 matching lines...) Expand all
14864 </div> 14599 </div>
14865 </template> 14600 </template>
14866 <template if="{{ path['length'] > path['elements'].length }}"> 14601 <template if="{{ path['length'] > path['elements'].length }}">
14867 showing {{ path['elements'].length }} of {{ path['length'] }} 14602 showing {{ path['elements'].length }} of {{ path['length'] }}
14868 <eval-link callback="{{ retainingPath }}" label="[find more]" expr="{{ path['elements'].length * 2 }}"> 14603 <eval-link callback="{{ retainingPath }}" label="[find more]" expr="{{ path['elements'].length * 2 }}">
14869 </eval-link> 14604 </eval-link>
14870 </template> 14605 </template>
14871 </template> 14606 </template>
14872 </div> 14607 </div>
14873 </div> 14608 </div>
14874 <div class="memberItem" title="Objects which directly reference this o bject"> 14609 <div class="memberItem">
14875 <div class="memberName">inbound references</div> 14610 <div class="memberName">inbound references</div>
14876 <div class="memberValue"> 14611 <div class="memberValue">
14877 <template if="{{ inboundReferences == null }}"> 14612 <template if="{{ inboundReferences == null }}">
14878 <eval-link callback="{{ fetchInboundReferences }}" label="[find] " expr="100"> 14613 <eval-link callback="{{ fetchInboundReferences }}" label="[find] " expr="100">
14879 </eval-link> 14614 </eval-link>
14880 </template> 14615 </template>
14881 <template if="{{ inboundReferences != null }}"> 14616 <template if="{{ inboundReferences != null }}">
14882 <template repeat="{{ reference in inboundReferences['references' ] }}"> 14617 <template repeat="{{ reference in inboundReferences['references' ] }}">
14883 <inbound-reference ref="{{ reference }}"></inbound-reference> 14618 <inbound-reference ref="{{ reference }}"></inbound-reference>
14884 </template> 14619 </template>
14885 </template> 14620 </template>
14886 </div> 14621 </div>
14887 </div> 14622 </div>
14888 <template if="{{ instance.typeClass != null }}"> 14623 <template if="{{ instance['type_class'] != null }}">
14889 <div class="memberItem"> 14624 <div class="memberItem">
14890 <div class="memberName">type class</div> 14625 <div class="memberName">type class</div>
14891 <div class="memberValue"> 14626 <div class="memberValue">
14892 <class-ref ref="{{ instance.typeClass }}"> 14627 <class-ref ref="{{ instance['type_class'] }}">
14893 </class-ref> 14628 </class-ref>
14894 </div> 14629 </div>
14895 </div> 14630 </div>
14896 </template> 14631 </template>
14897 <template if="{{ instance.isClosure }}"> 14632 <template if="{{ instance['closureFunc'] != null }}">
14898 <div class="memberItem"> 14633 <div class="memberItem">
14899 <div class="memberName">closure function</div> 14634 <div class="memberName">closure function</div>
14900 <div class="memberValue"> 14635 <div class="memberValue">
14901 <function-ref ref="{{ instance.closureFunc }}"> 14636 <function-ref ref="{{ instance['closureFunc'] }}">
14902 </function-ref> 14637 </function-ref>
14903 </div> 14638 </div>
14904 </div> 14639 </div>
14905 </template> 14640 </template>
14906 14641
14907 <div class="memberItem">&nbsp;</div> 14642 <div class="memberItem">&nbsp;</div>
14908 14643
14909 <div class="memberItem"> 14644 <div class="memberItem">
14910 <div class="memberName">toString()</div> 14645 <div class="memberName">toString()</div>
14911 <div class="memberValue"> 14646 <div class="memberValue">
14912 <eval-link callback="{{ eval }}" expr="toString()"></eval-link> 14647 <eval-link callback="{{ eval }}" expr="toString()"></eval-link>
14913 </div> 14648 </div>
14914 </div> 14649 </div>
14915 </div> 14650 </div>
14916 </div> 14651 </div>
14917 14652
14918 <hr> 14653 <hr>
14919 14654
14920 <div class="content"> 14655 <div class="content">
14921 <template if="{{ instance.fields.isNotEmpty }}"> 14656 <template if="{{ instance['fields'].isNotEmpty }}">
14922 fields ({{ instance.fields.length }}) 14657 fields ({{ instance['fields'].length }})
14923 <curly-block expand="{{ instance.fields.length <= 8 }}"> 14658 <curly-block expand="{{ instance['fields'].length <= 8 }}">
14924 <div class="memberList"> 14659 <div class="memberList">
14925 <template repeat="{{ field in instance.fields }}"> 14660 <template repeat="{{ field in instance['fields'] }}">
14926 <div class="memberItem"> 14661 <div class="memberItem">
14927 <div class="memberName"> 14662 <div class="memberName">
14928 <field-ref ref="{{ field['decl'] }}"></field-ref> 14663 <field-ref ref="{{ field['decl'] }}"></field-ref>
14929 </div> 14664 </div>
14930 <div class="memberValue"> 14665 <div class="memberValue">
14931 <any-service-ref ref="{{ field['value'] }}"></any-service-re f> 14666 <instance-ref ref="{{ field['value'] }}"></instance-ref>
14932 </div> 14667 </div>
14933 </div> 14668 </div>
14934 </template> 14669 </template>
14935 </div> 14670 </div>
14936 </curly-block><br><br> 14671 </curly-block><br><br>
14937 </template> 14672 </template>
14938 14673
14939 <template if="{{ instance.nativeFields.isNotEmpty }}"> 14674 <template if="{{ instance['nativeFields'].isNotEmpty }}">
14940 native fields ({{ instance.nativeFields.length }}) 14675 native fields ({{ instance['nativeFields'].length }})
14941 <curly-block expand="{{ instance.nativeFields.length <= 8 }}"> 14676 <curly-block expand="{{ instance['nativeFields'].length <= 8 }}">
14942 <div class="memberList"> 14677 <div class="memberList">
14943 <template repeat="{{ field in instance.nativeFields }}"> 14678 <template repeat="{{ field in instance['nativeFields'] }}">
14944 <div class="memberItem"> 14679 <div class="memberItem">
14945 <div class="memberName">[{{ field['index']}}]</div> 14680 <div class="memberName">[{{ field['index']}}]</div>
14946 <div class="memberValue">[{{ field['value']}}]</div> 14681 <div class="memberValue">[{{ field['value']}}]</div>
14947 </div> 14682 </div>
14948 </template> 14683 </template>
14949 </div> 14684 </div>
14950 </curly-block><br><br> 14685 </curly-block><br><br>
14951 </template> 14686 </template>
14952 14687
14953 <template if="{{ instance.elements.isNotEmpty }}"> 14688 <template if="{{ instance['elements'].isNotEmpty }}">
14954 elements ({{ instance.elements.length }}) 14689 elements ({{ instance['elements'].length }})
14955 <curly-block expand="{{ instance.elements.length <= 8 }}"> 14690 <curly-block expand="{{ instance['elements'].length <= 8 }}">
14956 <div class="memberList"> 14691 <div class="memberList">
14957 <template repeat="{{ element in instance.elements }}"> 14692 <template repeat="{{ element in instance['elements'] }}">
14958 <div class="memberItem"> 14693 <div class="memberItem">
14959 <div class="memberName">[{{ element['index']}}]</div> 14694 <div class="memberName">[{{ element['index']}}]</div>
14960 <div class="memberValue"> 14695 <div class="memberValue">
14961 <any-service-ref ref="{{ element['value'] }}"> 14696 <instance-ref ref="{{ element['value'] }}">
14962 14697 </instance-ref>
14963 </any-service-ref></div> 14698 </div>
14964 </div> 14699 </div>
14965 </template> 14700 </template>
14966 </div> 14701 </div>
14967 </curly-block><br><br> 14702 </curly-block><br><br>
14968 </template> 14703 </template>
14969 </div> 14704 </div>
14970 14705
14971 <hr> 14706 <hr>
14972 14707
14973 <div class="content"> 14708 <div class="content">
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
15347 variables ({{ library.variables.length }}) 15082 variables ({{ library.variables.length }})
15348 <curly-block expand="{{ library.variables.length <= 8 }}"> 15083 <curly-block expand="{{ library.variables.length <= 8 }}">
15349 <div class="memberList"> 15084 <div class="memberList">
15350 <template repeat="{{ field in library.variables }}"> 15085 <template repeat="{{ field in library.variables }}">
15351 <div class="memberItem"> 15086 <div class="memberItem">
15352 <div class="memberName"> 15087 <div class="memberName">
15353 <field-ref ref="{{ field }}"></field-ref> 15088 <field-ref ref="{{ field }}"></field-ref>
15354 </div> 15089 </div>
15355 <div class="memberValue"> 15090 <div class="memberValue">
15356 <template if="{{ field['value'] != null }}"> 15091 <template if="{{ field['value'] != null }}">
15357 <any-service-ref ref="{{ field['value'] }}"></any-service-re f> 15092 <instance-ref ref="{{ field['value'] }}"></instance-ref>
15358 </template> 15093 </template>
15359 </div> 15094 </div>
15360 </div> 15095 </div>
15361 </template> 15096 </template>
15362 </div> 15097 </div>
15363 </curly-block><br> 15098 </curly-block><br>
15364 <br> 15099 <br>
15365 </template> 15100 </template>
15366 15101
15367 <template if="{{ library.functions.isNotEmpty }}"> 15102 <template if="{{ library.functions.isNotEmpty }}">
(...skipping 5079 matching lines...) Expand 10 before | Expand all | Expand 10 after
20447 </style> 20182 </style>
20448 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> 20183 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a>
20449 </template> 20184 </template>
20450 </polymer-element> 20185 </polymer-element>
20451 20186
20452 20187
20453 20188
20454 <observatory-application devtools="true"></observatory-application> 20189 <observatory-application devtools="true"></observatory-application>
20455 20190
20456 <script src="index_devtools.html_bootstrap.dart.js" async=""></script></body></h tml> 20191 <script src="index_devtools.html_bootstrap.dart.js" async=""></script></body></h tml>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698