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

Unified Diff: runtime/bin/vmservice/client/lib/src/elements/field_view.html

Issue 215213003: Rework the <field-view> page. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/vmservice/client/lib/src/elements/field_view.html
diff --git a/runtime/bin/vmservice/client/lib/src/elements/field_view.html b/runtime/bin/vmservice/client/lib/src/elements/field_view.html
index 8857d5e0a633521393196888a5438e315668f23a..d190acf54439ddf41f6b47ee022ea0177797c8e4 100644
--- a/runtime/bin/vmservice/client/lib/src/elements/field_view.html
+++ b/runtime/bin/vmservice/client/lib/src/elements/field_view.html
@@ -1,10 +1,35 @@
<head>
<link rel="import" href="class_ref.html">
+ <link rel="import" href="instance_ref.html">
+ <link rel="import" href="library_ref.html">
<link rel="import" href="nav_bar.html">
+ <link rel="import" href="script_ref.html">
<link rel="import" href="observatory_element.html">
</head>
<polymer-element name="field-view" extends="observatory-element">
<template>
+ <style>
+ .content {
+ padding-left: 10%;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ h1 {
+ font: 400 18px 'Montserrat', sans-serif;
+ }
+ .memberList {
+ display: table;
+ }
+ .memberItem {
+ display: table-row;
+ }
+ .memberName, .memberValue {
+ display: table-cell;
+ vertical-align: top;
+ padding: 3px 0 3px 1em;
+ font: 400 14px 'Montserrat', sans-serif;
+ }
+ </style>
+
<nav-bar>
<top-nav-menu></top-nav-menu>
<isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu>
@@ -19,40 +44,72 @@
<nav-refresh callback="{{ refresh }}"></nav-refresh>
</nav-bar>
- <div class="row">
- <div class="col-md-8 col-md-offset-2">
- <div class="panel panel-warning">
- <div class="panel-heading">
- <template if="{{ field['static'] }}">static</template>
- <template if="{{ field['final'] }}">final</template>
- <template if="{{ field['const'] }}">const</template>
- {{ field['user_name'] }} ({{ field['name'] }})
- <class-ref ref="{{ field['owner'] }}"></class-ref>
+ <div class="content">
+ <h1>
+ <template if="{{ field['static'] }}">static</template>
+ <template if="{{ field['final'] }}">final</template>
+ <template if="{{ field['const'] }}">const</template>
+ <template if="{{ (field['declared_type']['name'] == 'dynamic' &&
+ !field['final'] && !field['const']) }}">
+ var
+ </template>
+ <template if="{{ (field['declared_type']['user_name'] != 'dynamic') }}">
+ {{ field['declared_type']['user_name'] }}
+ </template>
+ {{ field['user_name'] }}
+ </h1>
+ <div class="memberList">
+ <div class="memberItem">
+ <div class="memberName">owner</div>
+ <div class="memberValue">
+ <template if="{{ field['owner'].serviceType == 'Class' }}">
+ <class-ref ref="{{ field['owner'] }}"></class-ref>
+ </template>
+ <template if="{{ field['owner'].serviceType != 'Class' }}">
+ <library-ref ref="{{ field['owner'] }}"></library-ref>
+ </template>
+ </div>
</div>
- <div class="panel-body">
- <template if="{{ field['guard_class'] == 'dynamic'}}">
- <div class="alert alert-danger">
- Field has been assigned multiple types. If a field is only ever
- assigned a single type, performance may improve.
+ <div class="memberItem">
+ <div class="memberName">script</div>
+ <div class="memberValue">
+ <script-ref ref="{{ field['script'] }}"></script-ref>
+ </div>
+ </div>
+ <template if="{{ !field['static'] }}">
+ <div class="memberItem"
+ title="The types observed for this field at runtime. Fields that are observed to have a single type at runtime or to never be null may allow for additional optimization.">
+ <div class="memberName">observed types</div>
+ <div class="memberValue">
+ <template if="{{ field['guard_class'] == 'dynamic' }}">
+ various
+ </template>
+ <template if="{{ field['guard_class'] == 'unknown' }}">
+ none
+ </template>
+ <template if="{{ field['guard_class'] != 'unknown' &&
+ field['guard_class'] != 'dynamic' }}">
+ <class-ref ref="{{ field['guard_class'] }}"></class-ref>
+ <template if="{{ field['guard_nullable'] }}">
+ &mdash; null observed
+ </template>
+ <template if="{{ !field['guard_nullable'] }}">
+ &mdash; null not observed
+ </template>
+ </template>
+ </div>
</div>
</template>
- <template if="{{ (field['guard_class'] != 'dynamic') && (field['guard_class'] != 'unknown') }}">
- <div class="alert alert-success">Field has monomorphic type</div>
- <template if="{{ (field['guard_class'] != 'dynamic') &&
- field['guard_nullable'] }}">
- <div class="alert alert-info">
- Field has been assigned null. If a field is never assigned null,
- performance may improve.
+ <template if="{{ field['value'] != null }}">
+ <div class="memberItem">
+ <div class="memberName">static value</div>
+ <div class="memberValue">
+ <instance-ref ref="{{ field['value'] }}"></instance-ref>
</div>
- </template>
- <blockquote>
- <class-ref ref="{{ field['guard_class'] }}"></class-ref>
- </blockquote>
+ </div>
</template>
- </div>
</div>
</div>
- </div>
</template>
<script type="application/dart" src="field_view.dart"></script>
</polymer-element>

Powered by Google App Engine
This is Rietveld 408576698