| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 io_view_element; | 5 library io_view_element; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'observatory_element.dart'; | 8 import 'observatory_element.dart'; |
| 9 import 'service_ref.dart'; | 9 import 'service_ref.dart'; |
| 10 import 'package:observatory/service.dart'; | 10 import 'package:observatory/service.dart'; |
| 11 import 'package:polymer/polymer.dart'; | 11 import 'package:polymer/polymer.dart'; |
| 12 | 12 |
| 13 @CustomTag('io-view') | 13 @CustomTag('io-view') |
| 14 class IOViewElement extends ObservatoryElement { | 14 class IOViewElement extends ObservatoryElement { |
| 15 @published ServiceMap io; | 15 @published ServiceMap io; |
| 16 | 16 |
| 17 IOViewElement.created() : super.created(); | 17 IOViewElement.created() : super.created(); |
| 18 | 18 |
| 19 void refresh(var done) { | 19 Future refresh() { |
| 20 io.reload().whenComplete(done); | 20 return io.reload(); |
| 21 } | 21 } |
| 22 } | 22 } |
| 23 | 23 |
| 24 @CustomTag('io-ref') | 24 @CustomTag('io-ref') |
| 25 class IORefElement extends ServiceRefElement { | 25 class IORefElement extends ServiceRefElement { |
| 26 IORefElement.created() : super.created(); | 26 IORefElement.created() : super.created(); |
| 27 } | 27 } |
| 28 | 28 |
| 29 @CustomTag('io-http-server-list-view') | 29 @CustomTag('io-http-server-list-view') |
| 30 class IOHttpServerListViewElement extends ObservatoryElement { | 30 class IOHttpServerListViewElement extends ObservatoryElement { |
| 31 @published ServiceMap list; | 31 @published ServiceMap list; |
| 32 | 32 |
| 33 IOHttpServerListViewElement.created() : super.created(); | 33 IOHttpServerListViewElement.created() : super.created(); |
| 34 | 34 |
| 35 void refresh(var done) { | 35 Future refresh() { |
| 36 list.reload().whenComplete(done); | 36 return list.reload(); |
| 37 } | 37 } |
| 38 } | 38 } |
| 39 | 39 |
| 40 @CustomTag('io-http-server-ref') | 40 @CustomTag('io-http-server-ref') |
| 41 class IOHttpServerRefElement extends ServiceRefElement { | 41 class IOHttpServerRefElement extends ServiceRefElement { |
| 42 IOHttpServerRefElement.created() : super.created(); | 42 IOHttpServerRefElement.created() : super.created(); |
| 43 } | 43 } |
| 44 | 44 |
| 45 @CustomTag('io-http-server-view') | 45 @CustomTag('io-http-server-view') |
| 46 class IOHttpServerViewElement extends ObservatoryElement { | 46 class IOHttpServerViewElement extends ObservatoryElement { |
| 47 // TODO(ajohnsen): Create a HttpServer object. | 47 // TODO(ajohnsen): Create a HttpServer object. |
| 48 @published ServiceMap httpServer; | 48 @published ServiceMap httpServer; |
| 49 Timer _updateTimer; | 49 Timer _updateTimer; |
| 50 | 50 |
| 51 IOHttpServerViewElement.created() : super.created(); | 51 IOHttpServerViewElement.created() : super.created(); |
| 52 | 52 |
| 53 void refresh(var done) { | 53 Future refresh() { |
| 54 httpServer.reload().whenComplete(done); | 54 return httpServer.reload(); |
| 55 } | 55 } |
| 56 | 56 |
| 57 void _updateHttpServer() { | 57 void _updateHttpServer() { |
| 58 refresh(() { | 58 refresh().then((_) { |
| 59 if (_updateTimer != null) { | 59 if (_updateTimer != null) { |
| 60 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); | 60 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); |
| 61 } | 61 } |
| 62 }); | 62 }); |
| 63 } | 63 } |
| 64 | 64 |
| 65 @override | 65 @override |
| 66 void attached() { | 66 void attached() { |
| 67 super.attached(); | 67 super.attached(); |
| 68 // Start a timer to update the isolate summary once a second. | 68 // Start a timer to update the isolate summary once a second. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 79 } | 79 } |
| 80 } | 80 } |
| 81 | 81 |
| 82 @CustomTag('io-http-server-connection-view') | 82 @CustomTag('io-http-server-connection-view') |
| 83 class IOHttpServerConnectionViewElement extends ObservatoryElement { | 83 class IOHttpServerConnectionViewElement extends ObservatoryElement { |
| 84 @published ServiceMap connection; | 84 @published ServiceMap connection; |
| 85 Timer _updateTimer; | 85 Timer _updateTimer; |
| 86 | 86 |
| 87 IOHttpServerConnectionViewElement.created() : super.created(); | 87 IOHttpServerConnectionViewElement.created() : super.created(); |
| 88 | 88 |
| 89 void refresh(var done) { | 89 Future refresh() { |
| 90 connection.reload().whenComplete(done); | 90 return connection.reload(); |
| 91 } | 91 } |
| 92 | 92 |
| 93 void _updateHttpServer() { | 93 void _updateHttpServer() { |
| 94 refresh(() { | 94 refresh().then((_) { |
| 95 if (_updateTimer != null) { | 95 if (_updateTimer != null) { |
| 96 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); | 96 _updateTimer = new Timer(new Duration(seconds: 1), _updateHttpServer); |
| 97 } | 97 } |
| 98 }); | 98 }); |
| 99 } | 99 } |
| 100 | 100 |
| 101 @override | 101 @override |
| 102 void attached() { | 102 void attached() { |
| 103 super.attached(); | 103 super.attached(); |
| 104 // Start a timer to update the isolate summary once a second. | 104 // Start a timer to update the isolate summary once a second. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 124 class IOSocketRefElement extends ServiceRefElement { | 124 class IOSocketRefElement extends ServiceRefElement { |
| 125 IOSocketRefElement.created() : super.created(); | 125 IOSocketRefElement.created() : super.created(); |
| 126 } | 126 } |
| 127 | 127 |
| 128 @CustomTag('io-socket-list-view') | 128 @CustomTag('io-socket-list-view') |
| 129 class IOSocketListViewElement extends ObservatoryElement { | 129 class IOSocketListViewElement extends ObservatoryElement { |
| 130 @published ServiceMap list; | 130 @published ServiceMap list; |
| 131 | 131 |
| 132 IOSocketListViewElement.created() : super.created(); | 132 IOSocketListViewElement.created() : super.created(); |
| 133 | 133 |
| 134 void refresh(var done) { | 134 Future refresh() { |
| 135 list.reload().whenComplete(done); | 135 return list.reload(); |
| 136 } | 136 } |
| 137 } | 137 } |
| 138 | 138 |
| 139 @CustomTag('io-socket-view') | 139 @CustomTag('io-socket-view') |
| 140 class IOSocketViewElement extends ObservatoryElement { | 140 class IOSocketViewElement extends ObservatoryElement { |
| 141 @published Socket socket; | 141 @published Socket socket; |
| 142 | 142 |
| 143 IOSocketViewElement.created() : super.created(); | 143 IOSocketViewElement.created() : super.created(); |
| 144 | 144 |
| 145 void refresh(var done) { | 145 Future refresh() { |
| 146 socket.reload().whenComplete(done); | 146 return socket.reload(); |
| 147 } | 147 } |
| 148 } | 148 } |
| 149 | 149 |
| 150 @CustomTag('io-web-socket-ref') | 150 @CustomTag('io-web-socket-ref') |
| 151 class IOWebSocketRefElement extends ServiceRefElement { | 151 class IOWebSocketRefElement extends ServiceRefElement { |
| 152 IOWebSocketRefElement.created() : super.created(); | 152 IOWebSocketRefElement.created() : super.created(); |
| 153 } | 153 } |
| 154 | 154 |
| 155 @CustomTag('io-web-socket-list-view') | 155 @CustomTag('io-web-socket-list-view') |
| 156 class IOWebSocketListViewElement extends ObservatoryElement { | 156 class IOWebSocketListViewElement extends ObservatoryElement { |
| 157 @published ServiceMap list; | 157 @published ServiceMap list; |
| 158 | 158 |
| 159 IOWebSocketListViewElement.created() : super.created(); | 159 IOWebSocketListViewElement.created() : super.created(); |
| 160 | 160 |
| 161 void refresh(var done) { | 161 Future refresh() { |
| 162 list.reload().whenComplete(done); | 162 return list.reload(); |
| 163 } | 163 } |
| 164 } | 164 } |
| 165 | 165 |
| 166 @CustomTag('io-web-socket-view') | 166 @CustomTag('io-web-socket-view') |
| 167 class IOWebSocketViewElement extends ObservatoryElement { | 167 class IOWebSocketViewElement extends ObservatoryElement { |
| 168 @published ServiceMap webSocket; | 168 @published ServiceMap webSocket; |
| 169 | 169 |
| 170 IOWebSocketViewElement.created() : super.created(); | 170 IOWebSocketViewElement.created() : super.created(); |
| 171 | 171 |
| 172 void refresh(var done) { | 172 Future refresh() { |
| 173 webSocket.reload().whenComplete(done); | 173 return webSocket.reload(); |
| 174 } | 174 } |
| 175 } | 175 } |
| 176 | 176 |
| 177 @CustomTag('io-random-access-file-list-view') | 177 @CustomTag('io-random-access-file-list-view') |
| 178 class IORandomAccessFileListViewElement extends ObservatoryElement { | 178 class IORandomAccessFileListViewElement extends ObservatoryElement { |
| 179 @published ServiceMap list; | 179 @published ServiceMap list; |
| 180 | 180 |
| 181 IORandomAccessFileListViewElement.created() : super.created(); | 181 IORandomAccessFileListViewElement.created() : super.created(); |
| 182 | 182 |
| 183 void refresh(var done) { | 183 Future refresh() { |
| 184 list.reload().whenComplete(done); | 184 return list.reload(); |
| 185 } | 185 } |
| 186 } | 186 } |
| 187 | 187 |
| 188 @CustomTag('io-random-access-file-ref') | 188 @CustomTag('io-random-access-file-ref') |
| 189 class IORandomAccessFileRefElement extends ServiceRefElement { | 189 class IORandomAccessFileRefElement extends ServiceRefElement { |
| 190 IORandomAccessFileRefElement.created() : super.created(); | 190 IORandomAccessFileRefElement.created() : super.created(); |
| 191 } | 191 } |
| 192 | 192 |
| 193 @CustomTag('io-random-access-file-view') | 193 @CustomTag('io-random-access-file-view') |
| 194 class IORandomAccessFileViewElement extends ObservatoryElement { | 194 class IORandomAccessFileViewElement extends ObservatoryElement { |
| 195 // TODO(ajohnsen): Create a RandomAccessFile object. | 195 // TODO(ajohnsen): Create a RandomAccessFile object. |
| 196 @published ServiceMap file; | 196 @published ServiceMap file; |
| 197 Timer _updateTimer; | 197 Timer _updateTimer; |
| 198 | 198 |
| 199 IORandomAccessFileViewElement.created() : super.created(); | 199 IORandomAccessFileViewElement.created() : super.created(); |
| 200 | 200 |
| 201 void refresh(var done) { | 201 Future refresh() { |
| 202 file.reload().whenComplete(done); | 202 return file.reload(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 void _updateFile() { | 205 void _updateFile() { |
| 206 refresh(() { | 206 refresh().then((_) { |
| 207 if (_updateTimer != null) { | 207 if (_updateTimer != null) { |
| 208 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 208 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
| 209 } | 209 } |
| 210 }); | 210 }).catchError(app.handleException); |
| 211 } | 211 } |
| 212 | 212 |
| 213 @override | 213 @override |
| 214 void attached() { | 214 void attached() { |
| 215 super.attached(); | 215 super.attached(); |
| 216 // Start a timer to update the isolate summary once a second. | 216 // Start a timer to update the isolate summary once a second. |
| 217 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 217 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
| 218 } | 218 } |
| 219 | 219 |
| 220 @override | 220 @override |
| 221 void detached() { | 221 void detached() { |
| 222 super.detached(); | 222 super.detached(); |
| 223 if (_updateTimer != null) { | 223 if (_updateTimer != null) { |
| 224 _updateTimer.cancel(); | 224 _updateTimer.cancel(); |
| 225 _updateTimer = null; | 225 _updateTimer = null; |
| 226 } | 226 } |
| 227 } | 227 } |
| 228 } | 228 } |
| 229 | 229 |
| 230 @CustomTag('io-process-list-view') | 230 @CustomTag('io-process-list-view') |
| 231 class IOProcessListViewElement extends ObservatoryElement { | 231 class IOProcessListViewElement extends ObservatoryElement { |
| 232 @published ServiceMap list; | 232 @published ServiceMap list; |
| 233 | 233 |
| 234 IOProcessListViewElement.created() : super.created(); | 234 IOProcessListViewElement.created() : super.created(); |
| 235 | 235 |
| 236 void refresh(var done) { | 236 Future refresh() { |
| 237 list.reload().whenComplete(done); | 237 return list.reload(); |
| 238 } | 238 } |
| 239 } | 239 } |
| 240 | 240 |
| 241 @CustomTag('io-process-ref') | 241 @CustomTag('io-process-ref') |
| 242 class IOProcessRefElement extends ServiceRefElement { | 242 class IOProcessRefElement extends ServiceRefElement { |
| 243 // Only display the process name when small is set. | 243 // Only display the process name when small is set. |
| 244 @published bool small = false; | 244 @published bool small = false; |
| 245 IOProcessRefElement.created() : super.created(); | 245 IOProcessRefElement.created() : super.created(); |
| 246 } | 246 } |
| 247 | 247 |
| 248 @CustomTag('io-process-view') | 248 @CustomTag('io-process-view') |
| 249 class IOProcessViewElement extends ObservatoryElement { | 249 class IOProcessViewElement extends ObservatoryElement { |
| 250 // TODO(ajohnsen): Create a Process object. | 250 // TODO(ajohnsen): Create a Process object. |
| 251 @published ServiceMap process; | 251 @published ServiceMap process; |
| 252 Timer _updateTimer; | 252 Timer _updateTimer; |
| 253 | 253 |
| 254 IOProcessViewElement.created() : super.created(); | 254 IOProcessViewElement.created() : super.created(); |
| 255 | 255 |
| 256 void refresh(var done) { | 256 Future refresh() { |
| 257 process.reload().whenComplete(done); | 257 return process.reload(); |
| 258 } | 258 } |
| 259 | 259 |
| 260 void _updateFile() { | 260 void _updateFile() { |
| 261 refresh(() { | 261 refresh().then((_) { |
| 262 if (_updateTimer != null) { | 262 if (_updateTimer != null) { |
| 263 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 263 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
| 264 } | 264 } |
| 265 }); | 265 }).catchError(app.handleException); |
| 266 } | 266 } |
| 267 | 267 |
| 268 @override | 268 @override |
| 269 void attached() { | 269 void attached() { |
| 270 super.attached(); | 270 super.attached(); |
| 271 // Start a timer to update the isolate summary once a second. | 271 // Start a timer to update the isolate summary once a second. |
| 272 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); | 272 _updateTimer = new Timer(new Duration(seconds: 1), _updateFile); |
| 273 } | 273 } |
| 274 | 274 |
| 275 @override | 275 @override |
| 276 void detached() { | 276 void detached() { |
| 277 super.detached(); | 277 super.detached(); |
| 278 if (_updateTimer != null) { | 278 if (_updateTimer != null) { |
| 279 _updateTimer.cancel(); | 279 _updateTimer.cancel(); |
| 280 _updateTimer = null; | 280 _updateTimer = null; |
| 281 } | 281 } |
| 282 } | 282 } |
| 283 } | 283 } |
| OLD | NEW |