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

Unified Diff: runtime/bin/vmservice/client/out/web/index.html

Issue 77043010: - Ensure that classes are finalized before their description is (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 1 month 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/out/web/index.html
===================================================================
--- runtime/bin/vmservice/client/out/web/index.html (revision 30528)
+++ runtime/bin/vmservice/client/out/web/index.html (working copy)
@@ -1,438 +0,0 @@
-<!DOCTYPE html><html><head>
-
- <title>Dart VM Observatory</title>
- <meta charset="utf-8">
- <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.css">
-
- <script src="index.html_bootstrap.dart.js"></script>
-
-</head>
-<body><polymer-element name="observatory-element">
-
-</polymer-element><polymer-element name="class-view" extends="observatory-element">
- <template>
- <div class="row">
- <div class="col-md-8 col-md-offset-2">
- <div class="panel panel-warning">
- <div class="panel-heading">
- {{ cls['user_name'] }} ({{ cls['name'] }})
- <template if="{{ cls['super']['type'] != 'Null' }}">
- extends
- <a href="{{ app.locationManager.currentIsolateClassLink(cls['super']['id'])}}">
- {{ cls['super']['user_name'] }}
- </a>
- </template>
- <a class="pull-right" href="{{ app.locationManager.currentIsolateObjectLink(cls['library']['id'])}}">
- {{ cls['library']['name'] }}
- </a>
- </div>
- <div class="panel-body">
- <table class="table table-hover">
- <tbody>
- <tr>
- <td>Abstract</td><td>{{ cls['abstract'] }}</td>
- </tr>
- <tr>
- <td>Const</td><td>{{ cls['const'] }}</td>
- </tr>
- <tr>
- <td>Finalized</td><td>{{ cls['const'] }}</td>
- </tr>
- <tr>
- <td>Implemented</td><td>{{ cls['implemented'] }}</td>
- </tr>
- <tr>
- <td>Patch</td><td>{{ cls['patch'] }}</td>
- </tr>
- </tbody>
- </table>
- <blockquote><strong>Fields</strong></blockquote>
- <table class="table table-hover">
- <thead>
- <tr>
- <th>User Name</th>
- <th>VM Name</th>
- </tr>
- </thead>
- <tbody>
- <tr template="" repeat="{{ field in cls['fields'] }}">
- <td><a href="{{ app.locationManager.currentIsolateObjectLink(field['id'])}}">{{ field['user_name'] }}</a></td>
- <td><a href="{{ app.locationManager.currentIsolateObjectLink(field['id'])}}">{{ field['name'] }}</a></td>
- </tr>
- </tbody>
- </table>
- <blockquote><strong>Functions</strong></blockquote>
- <table class="table table-hover">
- <thead>
- <tr>
- <th>User Name</th>
- <th>VM Name</th>
- </tr>
- </thead>
- <tbody>
- <tr template="" repeat="{{ function in cls['functions'] }}">
- <td><a href="{{ app.locationManager.currentIsolateObjectLink(function['id'])}}">{{ function['user_name'] }}</a></td>
- <td><a href="{{ app.locationManager.currentIsolateObjectLink(function['id'])}}">{{ function['name'] }}</a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="disassembly-entry" extends="observatory-element">
- <template>
- <div class="row">
- <template if="{{ instruction['type'] == 'DisassembledInstructionComment' }}">
- <div class="col-md-2"></div>
- <div class="col-md-2"></div>
- <div class="col-md-4"><code>{{ instruction['comment'] }}</code></div>
- </template>
- <template if="{{ instruction['type'] == 'DisassembledInstruction' }}">
- <div class="col-md-2"></div>
- <div class="col-md-2">{{ instruction['pc'] }}</div>
- <div class="col-md-4">
- <code>{{ instruction['hex'] }} {{ instruction['human'] }}</code>
- </div>
- </template>
- </div>
- </template>
-
-</polymer-element><polymer-element name="code-view" extends="observatory-element">
- <template>
- <div class="row">
- <div class="col-md-8 col-md-offset-2">
- <div class="{{ cssPanelClass }}">
- <div class="panel-heading">
- <a href="{{ app.locationManager.currentIsolateObjectLink(code['function']['id'])}}">
- {{ code['function']['user_name'] }} ({{ code['function']['name'] }})
- </a>
- </div>
- <div class="panel-body">
- <div class="row">
- <div class="col-md-2"><strong>Samples</strong></div>
- <div class="col-md-2"><strong>Address</strong></div>
- <div><strong>Instruction</strong></div>
- </div>
- <template repeat="{{ instruction in code['disassembly'] }}">
- <disassembly-entry instruction="{{ instruction }}">
- </disassembly-entry>
- </template>
- </div>
- </div>
- </div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="collapsible-content" extends="observatory-element">
- <template>
- <div class="well row">
- <a on-click="toggleDisplay" class="btn muted unselectable">
- Raw message... <i class="{{ iconClass }}"></i>
- </a>
- <div style="display: {{ displayValue }}" class="well">
- <content></content>
- </div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="error-view" extends="observatory-element">
- <template>
- <div class="row">
- <div class="col-md-8 col-md-offset-2">
- <div class="panel panel-danger">
- <div class="panel-heading">Error</div>
- <div class="panel-body">
- <p>{{ error }}</p>
- </div>
- </div>
- </div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="field-view" extends="observatory-element">
- <template>
- <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'] }})
- <a class="pull-right" href="{{ app.locationManager.currentIsolateClassLink(field['class']['id'])}}">
- {{ field['class']['user_name'] }}
- </a>
- </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>
- </template>
- <template if="{{ field['guard_class'] != 'dynamic'}}">
- <div class="alert alert-success">Field has monomorphic type</div>
- <template if="{{ (field['guard_class'] != 'dynamic') &amp;&amp;
- field['guard_nullable'] }}">
- <div class="alert alert-info">
- Field has been assigned null. If a field is never assigned null,
- performance may improve.
- </div>
- </template>
- <blockquote>
- <a href="{{ app.locationManager.currentIsolateClassLink(field['guard_class']['id'])}}">
- {{ field['guard_class']['user_name'] }}
- </a>
- </blockquote>
- </template>
- </div>
- </div>
- </div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="function-view" extends="observatory-element">
- <template>
- <div class="row">
- <div class="col-md-8 col-md-offset-2">
- <div class="panel panel-warning">
- <div class="panel-heading">
- {{ function['user_name'] }} ({{ function['name'] }})
- <a class="pull-right" href="{{ app.locationManager.currentIsolateClassLink(function['class']['id'])}}">
- {{ function['class']['name'] }}
- </a>
- </div>
- <div class="panel-body">
- <div>
- <a class="btn btn-primary" href="{{ app.locationManager.currentIsolateObjectLink(function['code']['id'])}}">Current Code</a>
- <a class="btn btn-info" href="{{ app.locationManager.currentIsolateObjectLink(function['unoptimized_code']['id'])}}">Unoptimized Code</a>
- </div>
- <table class="table table-hover">
- <tbody>
- <tr>
- <td>static</td><td>{{ function['is_static'] }}</td>
- </tr>
- <tr>
- <td>Const</td><td>{{ function['is_const'] }}</td>
- </tr>
- <tr>
- <td>Optimizable</td><td>{{ function['is_optimizable'] }}</td>
- </tr>
- <tr>
- <td>Inlinable</td><td>{{ function['is_inlinable'] }}</td>
- </tr>
- <tr>
- <td>Kind</td><td>{{ function['kind'] }}</td>
- </tr>
- <tr>
- <td>Usage Count</td><td>{{ function['usage_counter'] }}</td>
- </tr>
- <tr>
- <td>Optimized Call Site Count</td><td>{{ function['optimized_call_site_count'] }}</td>
- </tr>
- <tr>
- <td>Deoptimizations</td><td>{{ function['deoptimizations'] }}</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="isolate-summary" extends="observatory-element">
- <template>
- <div class="row">
- <div class="col-md-1">
- <img src="img/isolate_icon.png" class="img-polaroid">
- </div>
- <div class="col-md-1">{{ isolate }}</div>
- <div class="col-md-10">{{ name }}</div>
- </div>
- <div class="row">
- <div class="col-md-2"></div>
- <div class="col-md-1">
- <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrace') }}">Stacktrace</a>
- </div>
- <div class="col-md-1">
- <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Library</a>
- </div>
- <div class="col-md-8"></div>
- </div>
- </template>
-
-</polymer-element><polymer-element name="isolate-list" extends="observatory-element">
- <template>
- <ul class="list-group">
- <template repeat="{{ isolate in app.isolateManager.isolates.values }}">
- <li class="list-group-item">
- <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ isolate.name }}"></isolate-summary>
- </li>
- </template>
- </ul>
- </template>
-
-</polymer-element><polymer-element name="json-view" extends="observatory-element">
- <template>
- <template bind="" if="{{ valueType == 'Primitive' }}">
- <span>{{primitiveString}}</span>
- </template>
- <template bind="" if="{{ valueType == 'List' }}">
- <table class="table table-condensed table-bordered">
- <caption class="text-left">List, {{list.length}}</caption>
- <tbody>
- <tr template="" repeat="{{item in list)}}">
- <th>{{counter}}</th>
- <td><json-view json="{{item}}"></json-view></td>
- </tr>
- </tbody>
- </table>
- </template>
- <template if="{{ valueType == 'Map' }}">
- <table class="table table-condensed table-bordered">
- <caption class="text-left">Map, {{keys.length}}</caption>
- <tbody>
- <tr template="" repeat="{{key in keys}}">
- <th>{{key}}</th>
- <td><json-view json="{{value(key)}}"></json-view></td>
- </tr>
- </tbody>
- </table>
- </template>
- </template>
-
-</polymer-element><polymer-element name="library-view" extends="observatory-element">
- <template>
- <div class="alert alert-success">Library {{ library['name'] }}</div>
- <div class="alert alert-info">Imported Libraries</div>
- <table class="table table-hover">
- <tbody>
- <tr template="" repeat="{{ lib in library['libraries'] }}">
- <td>
- <a href="{{ app.locationManager.currentIsolateObjectLink(lib['id'])}}">
- {{ lib['name'] }}
- </a>
- </td>
- </tr>
- </tbody>
- </table>
- <div class="alert alert-info">Classes</div>
- <table class="table table-hover">
- <thead>
- <tr>
- <th>Name</th>
- <th>Internal Name</th>
- </tr>
- </thead>
- <tbody>
- <tr template="" repeat="{{ cls in library['classes'] }}">
- <td>
- <a href="{{ app.locationManager.currentIsolateClassLink(cls['id']) }}">
- {{ cls['user_name'] }}
- </a>
- </td>
- <td>
- <a href="{{ app.locationManager.currentIsolateClassLink(cls['id']) }}">
- {{ cls['name'] }}
- </a>
- </td>
- </tr>
- </tbody>
- </table>
- </template>
-
-</polymer-element><polymer-element name="stack-trace" extends="observatory-element">
- <template>
- <div class="alert alert-info">Stack Trace</div>
- <table class="table table-hover">
- <thead>
- <tr>
- <th>Depth</th>
- <th>Function</th>
- <th>Url</th>
- <th>Line</th>
- </tr>
- </thead>
- <tbody>
- <tr template="" repeat="{{ frame in trace['members'] }}">
- <td>{{$index}}</td>
- <td><a href="{{app.locationManager.currentIsolateObjectLink(frame['function']['id'])}}">{{ frame['name'] }}</a></td>
- <td>{{ frame['url'] }}</td>
- <td>{{ frame['line'] }}</td>
- </tr>
- </tbody>
- </table>
- </template>
-
-</polymer-element><polymer-element name="message-viewer" extends="observatory-element">
- <!--
- This is a big switch statement which instantiates the custom element
- designated to display the message type.
- -->
- <template>
- <!-- If the message type is an IsolateList -->
- <template if="{{ messageType == 'IsolateList' }}">
- <isolate-list app="{{ app }}"></isolate-list>
- </template>
- <!-- If the message type is a StackTrace -->
- <template if="{{ messageType == 'StackTrace' }}">
- <stack-trace app="{{ app }}" trace="{{ message }}"></stack-trace>
- </template>
- <!-- If the message type is a RequestError -->
- <template if="{{ messageType == 'RequestError' }}">
- <error-view app="{{ app }}" error="{{ message['error'] }}"></error-view>
- </template>
- <template if="{{ messageType == 'Library' }}">
- <library-view app="{{ app }}" library="{{ message }}"></library-view>
- </template>
- <template if="{{ messageType == 'Class' }}">
- <class-view app="{{ app }}" cls="{{ message }}"></class-view>
- </template>
- <template if="{{ messageType == 'Field' }}">
- <field-view app="{{ app }}" field="{{ message }}"></field-view>
- </template>
- <template if="{{ messageType == 'Function' }}">
- <function-view app="{{ app }}" function="{{ message }}"></function-view>
- </template>
- <template if="{{ messageType == 'Code' }}">
- <code-view app="{{ app }}" code="{{ message }}"></code-view>
- </template>
- <!-- Add new views and message types in the future here. -->
- </template>
-
-</polymer-element><polymer-element name="navigation-bar" extends="observatory-element">
- <template>
- <nav class="navbar navbar-default" role="navigation">
- <div class="navbar-header">
- <a class="navbar-brand" href="">Observatory</a>
- </div>
- <div class="collapse navbar-collapse navbar-ex1-collapse">
- <input class="span2 pull-right navbar-form" placeholder="VM Address" type="text" value="{{ app.requestManager.prefix }}">
- </div>
- </nav>
- </template>
-
-</polymer-element><polymer-element name="response-viewer" extends="observatory-element">
- <template>
- <template repeat="{{ message in app.requestManager.responses }}">
- <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer>
- <collapsible-content>
- <!-- <json-view json="{{ message }}"></json-view> -->
- </collapsible-content>
- </template>
- </template>
-
-</polymer-element><polymer-element name="observatory-application" extends="observatory-element">
- <template>
- <navigation-bar app="{{ app }}"></navigation-bar>
- <response-viewer app="{{ app }}"></response-viewer>
- </template>
-
-</polymer-element>
- <observatory-application></observatory-application>
-
-</body></html>

Powered by Google App Engine
This is Rietveld 408576698