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

Side by Side Diff: runtime/bin/vmservice/client/lib/src/elements/script_view.dart

Issue 221263002: Miscellaneous Observatory UI improvements (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library script_view_element; 5 library script_view_element;
6 6
7 import 'observatory_element.dart'; 7 import 'observatory_element.dart';
8 import 'package:observatory/elements.dart';
8 import 'package:observatory/service.dart'; 9 import 'package:observatory/service.dart';
9 import 'package:polymer/polymer.dart'; 10 import 'package:polymer/polymer.dart';
10 11
11 /// Displays an Error response. 12 /// Displays an Script response.
12 @CustomTag('script-view') 13 @CustomTag('script-view')
13 class ScriptViewElement extends ObservatoryElement { 14 class ScriptViewElement extends ObservatoryElement {
14 @published Script script; 15 @published Script script;
15 @published bool showCoverage = false; 16 @published bool showCoverage = false;
16 17
17 ScriptViewElement.created() : super.created(); 18 ScriptViewElement.created() : super.created();
18 19
19 void enteredView() { 20 void enteredView() {
20 super.enteredView(); 21 super.enteredView();
21 if (script == null) { 22 if (script == null) {
22 return; 23 return;
23 } 24 }
24 script.load(); 25 script.load();
25 } 26 }
26 27
27 void _triggerHitRefresh() {
28 notifyPropertyChange(#hitsStyle, 0, 1);
29 }
30
31 showCoverageChanged(oldValue) { 28 showCoverageChanged(oldValue) {
32 _triggerHitRefresh(); 29 ScriptInsetElement sie = shadowRoot.querySelector('#scriptInset');
33 } 30 sie.coverage = showCoverage;
34
35 static const hitStyleNone = 'min-width:32px;';
36 static const hitStyleExecuted = 'min-width:32px;background-color:green';
37 static const hitStyleNotExecuted = 'min-width:32px;background-color:red';
38
39 @observable String hitsStyle(ScriptLine line) {
40 if ((script == null) || !showCoverage) {
41 return hitStyleNone;
42 }
43 var hit = script.hits[line.line];
44 if (hit == null) {
45 return hitStyleNone;
46 }
47 if (hit == 0) {
48 return hitStyleNotExecuted;
49 }
50 assert(hit > 0);
51 return hitStyleExecuted;
52 } 31 }
53 32
54 void refresh(var done) { 33 void refresh(var done) {
55 script.reload().whenComplete(done); 34 script.reload().whenComplete(done);
56 } 35 }
57 36
58 void refreshCoverage(var done) { 37 void refreshCoverage(var done) {
59 script.isolate.refreshCoverage().then((_) { 38 script.isolate.refreshCoverage().whenComplete(done);
60 _triggerHitRefresh();
61 done();
62 });
63 } 39 }
64 } 40 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698