| OLD | NEW |
| 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 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="{{ 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 <{{ ref.serviceType }}> |
| 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) && |
| 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 && !ref.isClosure }}"> | 956 <template if="{{ isInstance(ref) && |
| 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 Loading... |
| 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 Loading... |
| 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;"><pending></div> | 2626 <div style="color:#aaa;cursor:wait;"><pending></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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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"> </div> | 14642 <div class="memberItem"> </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 Loading... |
| 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 Loading... |
| 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> |
| OLD | NEW |