| OLD | NEW |
| 1 <!DOCTYPE html><html><head> | 1 <!DOCTYPE html><html><head> |
| 2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
| 3 <title>Dart VM Observatory</title> | 3 <title>Dart VM Observatory</title> |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | 10 |
| (...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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="{{ isError(ref) }}"> | 924 <template if="{{ ref.isSentinel }}"> |
| 925 <pre class="errorBox">{{ ref.message }}</pre> | 925 <div title="{{ hoverText }}">{{ ref.valueAsString }}</div> |
| 926 </template> | 926 </template> |
| 927 | 927 |
| 928 <template if="{{ isUnexpected(ref) }}"> | 928 <template if="{{ ref.isString || ref.isBool || ref.isInt || ref.isDouble |
| ref.isNull }}"> |
| 929 unexpected reference type <{{ ref.serviceType }}> | 929 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.valueAsString }}</a> |
| 930 </template> | 930 </template> |
| 931 | 931 |
| 932 <template if="{{ isSentinel(ref) }}"> | 932 <template if="{{ ref.isType }}"> |
| 933 <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div> | 933 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> |
| 934 </template> | 934 </template> |
| 935 | 935 |
| 936 <template if="{{ (isString(ref) || | 936 <template if="{{ ref.isClosure }}"> |
| 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) && | |
| 949 ref['closureFunc'] != null}}"> | |
| 950 <a on-click="{{ goto }}" _href="{{ url }}"> | 937 <a on-click="{{ goto }}" _href="{{ url }}"> |
| 951 <!-- TODO(turnidge): Switch this to fully-qualified function --> | 938 <!-- TODO(turnidge): Switch this to fully-qualified function --> |
| 952 {{ ref['closureFunc'].name }} | 939 {{ ref.closureFunc.name }} |
| 953 </a> | 940 </a> |
| 954 </template> | 941 </template> |
| 955 | 942 |
| 956 <template if="{{ isInstance(ref) && | 943 <template if="{{ ref.isInstance && !ref.isClosure }}"> |
| 957 ref['closureFunc'] == null}}"> | 944 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
</a> |
| 958 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref['class'].name }}</
em></a> | |
| 959 <curly-block callback="{{ expander() }}"> | 945 <curly-block callback="{{ expander() }}"> |
| 960 <div class="memberList"> | 946 <div class="memberList"> |
| 961 <template repeat="{{ field in ref['fields'] }}"> | 947 <template repeat="{{ field in ref.fields }}"> |
| 962 <div class="memberItem"> | 948 <div class="memberItem"> |
| 963 <div class="memberName"> | 949 <div class="memberName"> |
| 964 {{ field['decl']['user_name'] }} | 950 {{ field['decl']['user_name'] }} |
| 965 </div> | 951 </div> |
| 966 <div class="memberValue"> | 952 <div class="memberValue"> |
| 967 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 953 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> |
| 968 </div> | 954 </div> |
| 969 </div> | 955 </div> |
| 970 </template> | 956 </template> |
| 971 </div> | 957 </div> |
| 972 </curly-block> | 958 </curly-block> |
| 973 </template> | 959 </template> |
| 974 | 960 |
| 975 <template if="{{ isList(ref) }}"> | 961 <template if="{{ ref.isList }}"> |
| 976 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref['class'].name }}</
em> ({{ ref['length']}})</a> | 962 <a on-click="{{ goto }}" _href="{{ url }}"><em>{{ ref.clazz.name }}</em>
({{ ref.length }})</a> |
| 977 <curly-block callback="{{ expander() }}"> | 963 <curly-block callback="{{ expander() }}"> |
| 978 <div class="memberList"> | 964 <div class="memberList"> |
| 979 <template repeat="{{ element in ref['elements'] }}"> | 965 <template repeat="{{ element in ref.elements }}"> |
| 980 <div class="memberItem"> | 966 <div class="memberItem"> |
| 981 <div class="memberName">[{{ element['index']}}]</div> | 967 <div class="memberName">[{{ element['index']}}]</div> |
| 982 <div class="memberValue"> | 968 <div class="memberValue"> |
| 983 <instance-ref ref="{{ element['value'] }}"></instance-ref> | 969 <any-service-ref ref="{{ element['value'] }}"> |
| 984 </div> | 970 </any-service-ref></div> |
| 985 </div> | 971 </div> |
| 986 </template> | 972 </template> |
| 987 </div> | 973 </div> |
| 988 </curly-block> | 974 </curly-block> |
| 989 </template> | 975 </template> |
| 990 </span> | 976 </span> |
| 991 </template> | 977 </template> |
| 992 </polymer-element> | 978 </polymer-element> |
| 993 | 979 |
| 994 | 980 |
| (...skipping 1554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2549 | 2535 |
| 2550 | 2536 |
| 2551 | 2537 |
| 2552 | 2538 |
| 2553 | 2539 |
| 2554 | 2540 |
| 2555 | 2541 |
| 2556 | 2542 |
| 2557 | 2543 |
| 2558 | 2544 |
| 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 |
| 2559 <polymer-element name="eval-box" extends="observatory-element"> | 2825 <polymer-element name="eval-box" extends="observatory-element"> |
| 2560 <template> | 2826 <template> |
| 2561 <style> | 2827 <style> |
| 2562 .textbox { | 2828 .textbox { |
| 2563 width: 80ex; | 2829 width: 80ex; |
| 2564 font: 400 16px 'Montserrat', sans-serif; | 2830 font: 400 16px 'Montserrat', sans-serif; |
| 2565 } | 2831 } |
| 2566 .bigtextbox { | 2832 .bigtextbox { |
| 2567 font: 400 16px 'Montserrat', sans-serif; | 2833 font: 400 16px 'Montserrat', sans-serif; |
| 2568 } | 2834 } |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2619 <table> | 2885 <table> |
| 2620 <tbody><tr template="" repeat="{{ result in results }}"> | 2886 <tbody><tr template="" repeat="{{ result in results }}"> |
| 2621 <td class="historyExpr"> | 2887 <td class="historyExpr"> |
| 2622 <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr']
}}">{{ result['expr'] }}</a> | 2888 <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr']
}}">{{ result['expr'] }}</a> |
| 2623 </td> | 2889 </td> |
| 2624 <td class="historyValue"> | 2890 <td class="historyValue"> |
| 2625 <template if="{{ result['value'] == null }}"> | 2891 <template if="{{ result['value'] == null }}"> |
| 2626 <div style="color:#aaa;cursor:wait;"><pending></div> | 2892 <div style="color:#aaa;cursor:wait;"><pending></div> |
| 2627 </template> | 2893 </template> |
| 2628 <template if="{{ result['value'] != null }}"> | 2894 <template if="{{ result['value'] != null }}"> |
| 2629 <instance-ref ref="{{ result['value'] }}"></instance-ref> | 2895 <any-service-ref ref="{{ result['value'] }}"></any-service-ref> |
| 2630 </template> | 2896 </template> |
| 2631 </td> | 2897 </td> |
| 2632 </tr> | 2898 </tr> |
| 2633 </tbody></table> | 2899 </tbody></table> |
| 2634 </template> | 2900 </template> |
| 2635 </template> | 2901 </template> |
| 2636 </polymer-element> | 2902 </polymer-element> |
| 2637 | 2903 |
| 2638 | 2904 |
| 2639 | 2905 |
| 2640 | 2906 |
| 2641 | 2907 |
| 2908 |
| 2642 <polymer-element name="eval-link"> | 2909 <polymer-element name="eval-link"> |
| 2643 <template> | 2910 <template> |
| 2644 <style> | 2911 <style> |
| 2645 .idle { | 2912 .idle { |
| 2646 color: #0489c3; | 2913 color: #0489c3; |
| 2647 cursor: pointer; | 2914 cursor: pointer; |
| 2648 } | 2915 } |
| 2649 .busy { | 2916 .busy { |
| 2650 color: #aaa; | 2917 color: #aaa; |
| 2651 cursor: wait; | 2918 cursor: wait; |
| 2652 } | 2919 } |
| 2653 </style> | 2920 </style> |
| 2654 | 2921 |
| 2655 <template if="{{ busy }}"> | 2922 <template if="{{ busy }}"> |
| 2656 <span class="busy">{{ label }}</span> | 2923 <span class="busy">{{ label }}</span> |
| 2657 </template> | 2924 </template> |
| 2658 <template if="{{ !busy }}"> | 2925 <template if="{{ !busy }}"> |
| 2659 <span class="idle"><a on-click="{{ evalNow }}">{{ label }}</a></span> | 2926 <span class="idle"><a on-click="{{ evalNow }}">{{ label }}</a></span> |
| 2660 </template> | 2927 </template> |
| 2661 <template if="{{ result != null }}"> | 2928 <template if="{{ result != null }}"> |
| 2662 = <instance-ref ref="{{ result }}"></instance-ref> | 2929 = <any-service-ref ref="{{ result }}"></any-service-ref> |
| 2663 </template> | 2930 </template> |
| 2664 </template> | 2931 </template> |
| 2665 </polymer-element> | 2932 </polymer-element> |
| 2666 | 2933 |
| 2667 | 2934 |
| 2668 | 2935 |
| 2669 | 2936 |
| 2670 | 2937 |
| 2671 | 2938 |
| 2672 | 2939 |
| (...skipping 1555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4228 <template if="{{ cls.name != cls.vmName }}"> | 4495 <template if="{{ cls.name != cls.vmName }}"> |
| 4229 <div class="memberItem"> | 4496 <div class="memberItem"> |
| 4230 <div class="memberName">vm name</div> | 4497 <div class="memberName">vm name</div> |
| 4231 <div class="memberValue">{{ cls.vmName }}</div> | 4498 <div class="memberValue">{{ cls.vmName }}</div> |
| 4232 </div> | 4499 </div> |
| 4233 </template> | 4500 </template> |
| 4234 </div> | 4501 </div> |
| 4235 </div> | 4502 </div> |
| 4236 | 4503 |
| 4237 <template if="{{ cls.error != null }}"> | 4504 <template if="{{ cls.error != null }}"> |
| 4238 <!-- TODO(turnidge): Don't use instance-ref for error display here --> | 4505 <error-ref ref="{{ cls.error }}"> |
| 4239 <instance-ref ref="{{ cls.error }}"></instance-ref> | 4506 </error-ref></template> |
| 4240 </template> | |
| 4241 | 4507 |
| 4242 <hr> | 4508 <hr> |
| 4243 | 4509 |
| 4244 <div class="content"> | 4510 <div class="content"> |
| 4245 <template if="{{ cls.fields.isNotEmpty }}"> | 4511 <template if="{{ cls.fields.isNotEmpty }}"> |
| 4246 fields ({{ cls.fields.length }}) | 4512 fields ({{ cls.fields.length }}) |
| 4247 <curly-block expand="{{ cls.fields.length <= 8 }}"> | 4513 <curly-block expand="{{ cls.fields.length <= 8 }}"> |
| 4248 <div class="memberList"> | 4514 <div class="memberList"> |
| 4249 <template repeat="{{ field in cls.fields }}"> | 4515 <template repeat="{{ field in cls.fields }}"> |
| 4250 <div class="memberItem"> | 4516 <div class="memberItem"> |
| 4251 <div class="memberName"> | 4517 <div class="memberName"> |
| 4252 <field-ref ref="{{ field }}"></field-ref> | 4518 <field-ref ref="{{ field }}"></field-ref> |
| 4253 </div> | 4519 </div> |
| 4254 <div class="memberValue"> | 4520 <div class="memberValue"> |
| 4255 <template if="{{ field['value'] != null }}"> | 4521 <template if="{{ field['value'] != null }}"> |
| 4256 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 4522 <any-service-ref ref="{{ field['value'] }}"></any-service-re
f> |
| 4257 </template> | 4523 </template> |
| 4258 </div> | 4524 </div> |
| 4259 </div> | 4525 </div> |
| 4260 </template> | 4526 </template> |
| 4261 </div> | 4527 </div> |
| 4262 </curly-block><br><br> | 4528 </curly-block><br><br> |
| 4263 </template> | 4529 </template> |
| 4264 | 4530 |
| 4265 <template if="{{ cls.functions.isNotEmpty }}"> | 4531 <template if="{{ cls.functions.isNotEmpty }}"> |
| 4266 functions ({{ cls.functions.length }}) | 4532 functions ({{ cls.functions.length }}) |
| (...skipping 22 matching lines...) Expand all Loading... |
| 4289 </div> | 4555 </div> |
| 4290 <div class="memberItem"> | 4556 <div class="memberItem"> |
| 4291 <div class="memberName">strongly reachable</div> | 4557 <div class="memberName">strongly reachable</div> |
| 4292 <div class="memberValue"> | 4558 <div class="memberValue"> |
| 4293 <template if="{{ instances == null }}"> | 4559 <template if="{{ instances == null }}"> |
| 4294 <eval-link callback="{{ reachable }}" label="[find]" expr="100"> | 4560 <eval-link callback="{{ reachable }}" label="[find]" expr="100"> |
| 4295 </eval-link> | 4561 </eval-link> |
| 4296 </template> | 4562 </template> |
| 4297 <template if="{{ instances != null }}"> | 4563 <template if="{{ instances != null }}"> |
| 4298 sample | 4564 sample |
| 4299 <instance-ref ref="{{ instances['sample'] }}"></instance-ref> | 4565 <any-service-ref ref="{{ instances['sample'] }}"></any-service-r
ef> |
| 4300 <template if="{{ instances['totalCount'] > instances['sampleCoun
t'] }}"> | 4566 <template if="{{ instances['totalCount'] > instances['sampleCoun
t'] }}"> |
| 4301 <eval-link callback="{{ reachable }}" label="[more]" expr="{{
instances['sampleCount'] * 2 }}"> | 4567 <eval-link callback="{{ reachable }}" label="[more]" expr="{{
instances['sampleCount'] * 2 }}"> |
| 4302 </eval-link> | 4568 </eval-link> |
| 4303 </template> | 4569 </template> |
| 4304 of total {{ instances['totalCount'] }} | 4570 of total {{ instances['totalCount'] }} |
| 4305 </template> | 4571 </template> |
| 4306 </div> | 4572 </div> |
| 4307 </div> | 4573 </div> |
| 4308 <div class="memberItem"> | 4574 <div class="memberItem"> |
| 4309 <div class="memberName">retained size</div> | 4575 <div class="memberName">retained size</div> |
| (...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4956 <div class="memberName">Inclusive</div> | 5222 <div class="memberName">Inclusive</div> |
| 4957 <div class="memberValue">{{ code.formattedInclusiveTicks }}</div> | 5223 <div class="memberValue">{{ code.formattedInclusiveTicks }}</div> |
| 4958 </div> | 5224 </div> |
| 4959 <div class="memberItem"> | 5225 <div class="memberItem"> |
| 4960 <div class="memberName">Exclusive</div> | 5226 <div class="memberName">Exclusive</div> |
| 4961 <div class="memberValue">{{ code.formattedExclusiveTicks }}</div> | 5227 <div class="memberValue">{{ code.formattedExclusiveTicks }}</div> |
| 4962 </div> | 5228 </div> |
| 4963 <div class="memberItem"> | 5229 <div class="memberItem"> |
| 4964 <div class="memberName">Constant object pool</div> | 5230 <div class="memberName">Constant object pool</div> |
| 4965 <div class="memberValue"> | 5231 <div class="memberValue"> |
| 4966 <instance-ref ref="{{ code.objectPool }}"></instance-ref> | 5232 <any-service-ref ref="{{ code.objectPool }}"></any-service-ref> |
| 4967 </div> | 5233 </div> |
| 4968 </div> | 5234 </div> |
| 4969 </div> | 5235 </div> |
| 4970 </div> | 5236 </div> |
| 4971 <hr> | 5237 <hr> |
| 4972 <div class="content"> | 5238 <div class="content"> |
| 4973 <template if="{{ code.hasDisassembly }}"> | 5239 <template if="{{ code.hasDisassembly }}"> |
| 4974 <div class="flex-row"> | 5240 <div class="flex-row"> |
| 4975 <div class="flex-item-fixed-2-12 memberHeader">Inclusive</div> | 5241 <div class="flex-item-fixed-2-12 memberHeader">Inclusive</div> |
| 4976 <div class="flex-item-fixed-2-12 memberHeader">Exclusive</div> | 5242 <div class="flex-item-fixed-2-12 memberHeader">Exclusive</div> |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5640 — null not observed | 5906 — null not observed |
| 5641 </template> | 5907 </template> |
| 5642 </template> | 5908 </template> |
| 5643 </div> | 5909 </div> |
| 5644 </div> | 5910 </div> |
| 5645 </template> | 5911 </template> |
| 5646 <template if="{{ field['value'] != null }}"> | 5912 <template if="{{ field['value'] != null }}"> |
| 5647 <div class="memberItem"> | 5913 <div class="memberItem"> |
| 5648 <div class="memberName">static value</div> | 5914 <div class="memberName">static value</div> |
| 5649 <div class="memberValue"> | 5915 <div class="memberValue"> |
| 5650 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 5916 <any-service-ref ref="{{ field['value'] }}"></any-service-ref> |
| 5651 </div> | 5917 </div> |
| 5652 </div> | 5918 </div> |
| 5653 </template> | 5919 </template> |
| 5654 </div> | 5920 </div> |
| 5655 </div> | 5921 </div> |
| 5656 </template> | 5922 </template> |
| 5657 </polymer-element> | 5923 </polymer-element> |
| 5658 | 5924 |
| 5659 | 5925 |
| 5660 | 5926 |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5936 <function-ref ref="{{ frame['function'] }}"></function-ref> | 6202 <function-ref ref="{{ frame['function'] }}"></function-ref> |
| 5937 ( <script-ref ref="{{ frame['script'] }}" pos="{{ frame['tokenPos'] }}
"> | 6203 ( <script-ref ref="{{ frame['script'] }}" pos="{{ frame['tokenPos'] }}
"> |
| 5938 </script-ref> ) | 6204 </script-ref> ) |
| 5939 | 6205 |
| 5940 <curly-block> | 6206 <curly-block> |
| 5941 <div class="memberList"> | 6207 <div class="memberList"> |
| 5942 <template repeat="{{ v in frame['vars'] }}"> | 6208 <template repeat="{{ v in frame['vars'] }}"> |
| 5943 <div class="memberItem"> | 6209 <div class="memberItem"> |
| 5944 <div class="memberName">{{ v['name']}}</div> | 6210 <div class="memberName">{{ v['name']}}</div> |
| 5945 <div class="memberValue"> | 6211 <div class="memberValue"> |
| 5946 <instance-ref ref="{{ v['value'] }}"></instance-ref> | 6212 <any-service-ref ref="{{ v['value'] }}"></any-service-ref> |
| 5947 </div> | 6213 </div> |
| 5948 </div> | 6214 </div> |
| 5949 </template> | 6215 </template> |
| 5950 </div> | 6216 </div> |
| 5951 </curly-block> | 6217 </curly-block> |
| 5952 </div> | 6218 </div> |
| 5953 <div class="flex-item-fixed-1-12"> | 6219 <div class="flex-item-fixed-1-12"> |
| 5954 </div> | 6220 </div> |
| 5955 </div> | 6221 </div> |
| 5956 </template> | 6222 </template> |
| (...skipping 8563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14520 } | 14786 } |
| 14521 | 14787 |
| 14522 .break-wrap { | 14788 .break-wrap { |
| 14523 word-wrap: break-word; | 14789 word-wrap: break-word; |
| 14524 } | 14790 } |
| 14525 </style> | 14791 </style> |
| 14526 <nav-bar> | 14792 <nav-bar> |
| 14527 <top-nav-menu></top-nav-menu> | 14793 <top-nav-menu></top-nav-menu> |
| 14528 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> | 14794 <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu> |
| 14529 <!-- TODO(turnidge): Add library nav menu here. --> | 14795 <!-- TODO(turnidge): Add library nav menu here. --> |
| 14530 <class-nav-menu cls="{{ instance['class'] }}"></class-nav-menu> | 14796 <class-nav-menu cls="{{ instance.clazz }}"></class-nav-menu> |
| 14531 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> | 14797 <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu> |
| 14532 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 14798 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 14533 <nav-control></nav-control> | 14799 <nav-control></nav-control> |
| 14534 </nav-bar> | 14800 </nav-bar> |
| 14535 | 14801 |
| 14536 <template if="{{ instance['error'] != null }}"> | 14802 <template if="{{ instance.isError }}"> |
| 14537 <error-view error_obj="{{ instance['error'] }}"></error-view> | 14803 <error-view error_obj="{{ instance['error'] }}"></error-view> |
| 14538 </template> | 14804 </template> |
| 14539 | 14805 |
| 14540 <template if="{{ instance['error'] == null }}"> | 14806 <template if="{{ !instance.isError }}"> |
| 14541 <div class="content"> | 14807 <div class="content"> |
| 14542 <!-- TODO(turnidge): Handle null instances. --> | 14808 <template if="{{ instance.isType }}"> |
| 14543 <template if="{{ isType(instance) }}"> | |
| 14544 <h1>type {{ instance.name }}</h1> | 14809 <h1>type {{ instance.name }}</h1> |
| 14545 </template> | 14810 </template> |
| 14546 <template if="{{ !isType(instance) }}"> | 14811 <template if="{{ !instance.isType }}"> |
| 14547 <h1>instance of {{ instance['class'].name }}</h1> | 14812 <h1>instance of {{ instance.clazz.name }}</h1> |
| 14548 </template> | 14813 </template> |
| 14549 <div class="memberList"> | 14814 <div class="memberList"> |
| 14550 <div class="memberItem"> | 14815 <div class="memberItem"> |
| 14551 <div class="memberName">class</div> | 14816 <div class="memberName">class</div> |
| 14552 <div class="memberValue"> | 14817 <div class="memberValue"> |
| 14553 <class-ref ref="{{ instance['class'] }}"> | 14818 <class-ref ref="{{ instance.clazz }}"> |
| 14554 </class-ref> | 14819 </class-ref> |
| 14555 </div> | 14820 </div> |
| 14556 </div> | 14821 </div> |
| 14557 <template if="{{ instance['valueAsString'] != null }}"> | 14822 <template if="{{ instance.valueAsString != null }}"> |
| 14558 <div class="memberItem"> | 14823 <div class="memberItem"> |
| 14559 <div class="memberName">value</div> | 14824 <div class="memberName">value</div> |
| 14560 <div class="memberValue">{{ instance['valueAsString'] }}</div> | 14825 <div class="memberValue">{{ instance.valueAsString }}</div> |
| 14561 </div> | 14826 </div> |
| 14562 </template> | 14827 </template> |
| 14563 <div class="memberItem"> | 14828 <div class="memberItem" title="Space for this object in memory"> |
| 14564 <div class="memberName">size</div> | 14829 <div class="memberName">size</div> |
| 14565 <div class="memberValue">{{ instance['size'] | formatSize }}</div> | 14830 <div class="memberValue">{{ instance.size | formatSize }}</div> |
| 14566 </div> | 14831 </div> |
| 14567 <div class="memberItem"> | 14832 <div class="memberItem" title="Space that would be reclaimed if refere
nces to this object were replaced with null"> |
| 14568 <div class="memberName">retained size</div> | 14833 <div class="memberName">retained size</div> |
| 14569 <div class="memberValue"> | 14834 <div class="memberValue"> |
| 14570 <template if="{{ retainedBytes == null }}"> | 14835 <template if="{{ retainedBytes == null }}"> |
| 14571 <eval-link callback="{{ retainedSize }}" label="[calculate]"> | 14836 <eval-link callback="{{ retainedSize }}" label="[calculate]"> |
| 14572 </eval-link> | 14837 </eval-link> |
| 14573 </template> | 14838 </template> |
| 14574 <template if="{{ retainedBytes != null }}"> | 14839 <template if="{{ retainedBytes != null }}"> |
| 14575 {{ retainedBytes | formatSize }} | 14840 {{ retainedBytes | formatSize }} |
| 14576 </template> | 14841 </template> |
| 14577 </div> | 14842 </div> |
| (...skipping 21 matching lines...) Expand all Loading... |
| 14599 </div> | 14864 </div> |
| 14600 </template> | 14865 </template> |
| 14601 <template if="{{ path['length'] > path['elements'].length }}"> | 14866 <template if="{{ path['length'] > path['elements'].length }}"> |
| 14602 showing {{ path['elements'].length }} of {{ path['length'] }} | 14867 showing {{ path['elements'].length }} of {{ path['length'] }} |
| 14603 <eval-link callback="{{ retainingPath }}" label="[find more]"
expr="{{ path['elements'].length * 2 }}"> | 14868 <eval-link callback="{{ retainingPath }}" label="[find more]"
expr="{{ path['elements'].length * 2 }}"> |
| 14604 </eval-link> | 14869 </eval-link> |
| 14605 </template> | 14870 </template> |
| 14606 </template> | 14871 </template> |
| 14607 </div> | 14872 </div> |
| 14608 </div> | 14873 </div> |
| 14609 <div class="memberItem"> | 14874 <div class="memberItem" title="Objects which directly reference this o
bject"> |
| 14610 <div class="memberName">inbound references</div> | 14875 <div class="memberName">inbound references</div> |
| 14611 <div class="memberValue"> | 14876 <div class="memberValue"> |
| 14612 <template if="{{ inboundReferences == null }}"> | 14877 <template if="{{ inboundReferences == null }}"> |
| 14613 <eval-link callback="{{ fetchInboundReferences }}" label="[find]
" expr="100"> | 14878 <eval-link callback="{{ fetchInboundReferences }}" label="[find]
" expr="100"> |
| 14614 </eval-link> | 14879 </eval-link> |
| 14615 </template> | 14880 </template> |
| 14616 <template if="{{ inboundReferences != null }}"> | 14881 <template if="{{ inboundReferences != null }}"> |
| 14617 <template repeat="{{ reference in inboundReferences['references'
] }}"> | 14882 <template repeat="{{ reference in inboundReferences['references'
] }}"> |
| 14618 <inbound-reference ref="{{ reference }}"></inbound-reference> | 14883 <inbound-reference ref="{{ reference }}"></inbound-reference> |
| 14619 </template> | 14884 </template> |
| 14620 </template> | 14885 </template> |
| 14621 </div> | 14886 </div> |
| 14622 </div> | 14887 </div> |
| 14623 <template if="{{ instance['type_class'] != null }}"> | 14888 <template if="{{ instance.typeClass != null }}"> |
| 14624 <div class="memberItem"> | 14889 <div class="memberItem"> |
| 14625 <div class="memberName">type class</div> | 14890 <div class="memberName">type class</div> |
| 14626 <div class="memberValue"> | 14891 <div class="memberValue"> |
| 14627 <class-ref ref="{{ instance['type_class'] }}"> | 14892 <class-ref ref="{{ instance.typeClass }}"> |
| 14628 </class-ref> | 14893 </class-ref> |
| 14629 </div> | 14894 </div> |
| 14630 </div> | 14895 </div> |
| 14631 </template> | 14896 </template> |
| 14632 <template if="{{ instance['closureFunc'] != null }}"> | 14897 <template if="{{ instance.isClosure }}"> |
| 14633 <div class="memberItem"> | 14898 <div class="memberItem"> |
| 14634 <div class="memberName">closure function</div> | 14899 <div class="memberName">closure function</div> |
| 14635 <div class="memberValue"> | 14900 <div class="memberValue"> |
| 14636 <function-ref ref="{{ instance['closureFunc'] }}"> | 14901 <function-ref ref="{{ instance.closureFunc }}"> |
| 14637 </function-ref> | 14902 </function-ref> |
| 14638 </div> | 14903 </div> |
| 14639 </div> | 14904 </div> |
| 14640 </template> | 14905 </template> |
| 14641 | 14906 |
| 14642 <div class="memberItem"> </div> | 14907 <div class="memberItem"> </div> |
| 14643 | 14908 |
| 14644 <div class="memberItem"> | 14909 <div class="memberItem"> |
| 14645 <div class="memberName">toString()</div> | 14910 <div class="memberName">toString()</div> |
| 14646 <div class="memberValue"> | 14911 <div class="memberValue"> |
| 14647 <eval-link callback="{{ eval }}" expr="toString()"></eval-link> | 14912 <eval-link callback="{{ eval }}" expr="toString()"></eval-link> |
| 14648 </div> | 14913 </div> |
| 14649 </div> | 14914 </div> |
| 14650 </div> | 14915 </div> |
| 14651 </div> | 14916 </div> |
| 14652 | 14917 |
| 14653 <hr> | 14918 <hr> |
| 14654 | 14919 |
| 14655 <div class="content"> | 14920 <div class="content"> |
| 14656 <template if="{{ instance['fields'].isNotEmpty }}"> | 14921 <template if="{{ instance.fields.isNotEmpty }}"> |
| 14657 fields ({{ instance['fields'].length }}) | 14922 fields ({{ instance.fields.length }}) |
| 14658 <curly-block expand="{{ instance['fields'].length <= 8 }}"> | 14923 <curly-block expand="{{ instance.fields.length <= 8 }}"> |
| 14659 <div class="memberList"> | 14924 <div class="memberList"> |
| 14660 <template repeat="{{ field in instance['fields'] }}"> | 14925 <template repeat="{{ field in instance.fields }}"> |
| 14661 <div class="memberItem"> | 14926 <div class="memberItem"> |
| 14662 <div class="memberName"> | 14927 <div class="memberName"> |
| 14663 <field-ref ref="{{ field['decl'] }}"></field-ref> | 14928 <field-ref ref="{{ field['decl'] }}"></field-ref> |
| 14664 </div> | 14929 </div> |
| 14665 <div class="memberValue"> | 14930 <div class="memberValue"> |
| 14666 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 14931 <any-service-ref ref="{{ field['value'] }}"></any-service-re
f> |
| 14667 </div> | 14932 </div> |
| 14668 </div> | 14933 </div> |
| 14669 </template> | 14934 </template> |
| 14670 </div> | 14935 </div> |
| 14671 </curly-block><br><br> | 14936 </curly-block><br><br> |
| 14672 </template> | 14937 </template> |
| 14673 | 14938 |
| 14674 <template if="{{ instance['nativeFields'].isNotEmpty }}"> | 14939 <template if="{{ instance.nativeFields.isNotEmpty }}"> |
| 14675 native fields ({{ instance['nativeFields'].length }}) | 14940 native fields ({{ instance.nativeFields.length }}) |
| 14676 <curly-block expand="{{ instance['nativeFields'].length <= 8 }}"> | 14941 <curly-block expand="{{ instance.nativeFields.length <= 8 }}"> |
| 14677 <div class="memberList"> | 14942 <div class="memberList"> |
| 14678 <template repeat="{{ field in instance['nativeFields'] }}"> | 14943 <template repeat="{{ field in instance.nativeFields }}"> |
| 14679 <div class="memberItem"> | 14944 <div class="memberItem"> |
| 14680 <div class="memberName">[{{ field['index']}}]</div> | 14945 <div class="memberName">[{{ field['index']}}]</div> |
| 14681 <div class="memberValue">[{{ field['value']}}]</div> | 14946 <div class="memberValue">[{{ field['value']}}]</div> |
| 14682 </div> | 14947 </div> |
| 14683 </template> | 14948 </template> |
| 14684 </div> | 14949 </div> |
| 14685 </curly-block><br><br> | 14950 </curly-block><br><br> |
| 14686 </template> | 14951 </template> |
| 14687 | 14952 |
| 14688 <template if="{{ instance['elements'].isNotEmpty }}"> | 14953 <template if="{{ instance.elements.isNotEmpty }}"> |
| 14689 elements ({{ instance['elements'].length }}) | 14954 elements ({{ instance.elements.length }}) |
| 14690 <curly-block expand="{{ instance['elements'].length <= 8 }}"> | 14955 <curly-block expand="{{ instance.elements.length <= 8 }}"> |
| 14691 <div class="memberList"> | 14956 <div class="memberList"> |
| 14692 <template repeat="{{ element in instance['elements'] }}"> | 14957 <template repeat="{{ element in instance.elements }}"> |
| 14693 <div class="memberItem"> | 14958 <div class="memberItem"> |
| 14694 <div class="memberName">[{{ element['index']}}]</div> | 14959 <div class="memberName">[{{ element['index']}}]</div> |
| 14695 <div class="memberValue"> | 14960 <div class="memberValue"> |
| 14696 <instance-ref ref="{{ element['value'] }}"> | 14961 <any-service-ref ref="{{ element['value'] }}"> |
| 14697 </instance-ref> | 14962 |
| 14698 </div> | 14963 </any-service-ref></div> |
| 14699 </div> | 14964 </div> |
| 14700 </template> | 14965 </template> |
| 14701 </div> | 14966 </div> |
| 14702 </curly-block><br><br> | 14967 </curly-block><br><br> |
| 14703 </template> | 14968 </template> |
| 14704 </div> | 14969 </div> |
| 14705 | 14970 |
| 14706 <hr> | 14971 <hr> |
| 14707 | 14972 |
| 14708 <div class="content"> | 14973 <div class="content"> |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15082 variables ({{ library.variables.length }}) | 15347 variables ({{ library.variables.length }}) |
| 15083 <curly-block expand="{{ library.variables.length <= 8 }}"> | 15348 <curly-block expand="{{ library.variables.length <= 8 }}"> |
| 15084 <div class="memberList"> | 15349 <div class="memberList"> |
| 15085 <template repeat="{{ field in library.variables }}"> | 15350 <template repeat="{{ field in library.variables }}"> |
| 15086 <div class="memberItem"> | 15351 <div class="memberItem"> |
| 15087 <div class="memberName"> | 15352 <div class="memberName"> |
| 15088 <field-ref ref="{{ field }}"></field-ref> | 15353 <field-ref ref="{{ field }}"></field-ref> |
| 15089 </div> | 15354 </div> |
| 15090 <div class="memberValue"> | 15355 <div class="memberValue"> |
| 15091 <template if="{{ field['value'] != null }}"> | 15356 <template if="{{ field['value'] != null }}"> |
| 15092 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 15357 <any-service-ref ref="{{ field['value'] }}"></any-service-re
f> |
| 15093 </template> | 15358 </template> |
| 15094 </div> | 15359 </div> |
| 15095 </div> | 15360 </div> |
| 15096 </template> | 15361 </template> |
| 15097 </div> | 15362 </div> |
| 15098 </curly-block><br> | 15363 </curly-block><br> |
| 15099 <br> | 15364 <br> |
| 15100 </template> | 15365 </template> |
| 15101 | 15366 |
| 15102 <template if="{{ library.functions.isNotEmpty }}"> | 15367 <template if="{{ library.functions.isNotEmpty }}"> |
| (...skipping 5079 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20182 </style> | 20447 </style> |
| 20183 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> | 20448 <a on-click="{{ goto }}" _href="{{ url }}">{{ ref.name }}</a> |
| 20184 </template> | 20449 </template> |
| 20185 </polymer-element> | 20450 </polymer-element> |
| 20186 | 20451 |
| 20187 | 20452 |
| 20188 | 20453 |
| 20189 <observatory-application></observatory-application> | 20454 <observatory-application></observatory-application> |
| 20190 | 20455 |
| 20191 <script src="index.html_bootstrap.dart.js" async=""></script></body></html> | 20456 <script src="index.html_bootstrap.dart.js" async=""></script></body></html> |
| OLD | NEW |