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

Side by Side Diff: runtime/bin/vmservice/observatory/lib/src/elements/script_ref.dart

Issue 837723004: Build Observatory as part of runtime (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library script_ref_element;
6
7 import 'package:polymer/polymer.dart';
8 import 'package:observatory/service.dart';
9 import 'service_ref.dart';
10
11 @CustomTag('script-ref')
12 class ScriptRefElement extends ServiceRefElement {
13 @published int pos = -1;
14
15 String get hoverText {
16 if (ref == null) {
17 return super.hoverText;
18 }
19 return ref.vmName;
20 }
21
22 void posChanged(oldValue) {
23 _updateProperties(null);
24 }
25
26 void _updateProperties(_) {
27 if (ref != null && ref.loaded) {
28 notifyPropertyChange(#name, 0, 1);
29 notifyPropertyChange(#url, 0, 1);
30 }
31 }
32
33 String get name {
34 if (ref == null) {
35 return super.name;
36 }
37 if (pos >= 0) {
38 if (ref.loaded) {
39 // Script is loaded, get the line number.
40 Script script = ref;
41 return '${super.name}:${script.tokenToLine(pos)}';
42 } else {
43 ref.load().then(_updateProperties);
44 }
45 }
46 return super.name;
47 }
48
49 String get url {
50 if (ref == null) {
51 return super.url;
52 }
53 if (pos >= 0) {
54 if (ref.loaded) {
55 // Script is loaded, get the line number.
56 Script script = ref;
57 return '${super.url}---pos=${pos}';
58 } else {
59 ref.load().then(_updateProperties);
60 }
61 }
62 return super.url;
63 }
64
65 ScriptRefElement.created() : super.created();
66 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698