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

Side by Side Diff: runtime/observatory/lib/service_html.dart

Issue 886353006: Port metrics to RPC (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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) 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 service_html; 5 library service_html;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:convert';
9 import 'dart:html'; 8 import 'dart:html';
10 import 'dart:typed_data'; 9 import 'dart:typed_data';
11 10
12 import 'package:observatory/service_common.dart'; 11 import 'package:observatory/service_common.dart';
13 12
14 // Export the service library. 13 // Export the service library.
15 export 'package:observatory/service_common.dart'; 14 export 'package:observatory/service_common.dart';
16 15
17 class _HtmlWebSocket implements CommonWebSocket { 16 class _HtmlWebSocket implements CommonWebSocket {
18 WebSocket _webSocket; 17 WebSocket _webSocket;
19 18
20 void connect(String address, 19 void connect(String address,
21 void onOpen(), 20 void onOpen(),
22 void onMessage(dynamic data), 21 void onMessage(dynamic data),
23 void onError(), 22 void onError(),
24 void onClose()) { 23 void onClose()) {
25 _webSocket = new WebSocket(address); 24 _webSocket = new WebSocket(address);
26 _webSocket.onClose.listen((CloseEvent) => onClose()); 25 _webSocket.onClose.listen((CloseEvent) => onClose());
27 _webSocket.onError.listen((Event) => onError()); 26 _webSocket.onError.listen((Event) => onError());
28 _webSocket.onOpen.listen((Event) => onOpen()); 27 _webSocket.onOpen.listen((Event) => onOpen());
29 _webSocket.onMessage.listen((MessageEvent event) => onMessage(event.data)); 28 _webSocket.onMessage.listen((MessageEvent event) => onMessage(event.data));
30 } 29 }
31 30
32 bool get isOpen => _webSocket.readyState == WebSocket.OPEN; 31 bool get isOpen => _webSocket.readyState == WebSocket.OPEN;
33 32
34 void send(dynamic data) { 33 void send(dynamic data) {
35 _webSocket.send(data); 34 _webSocket.send(data);
36 } 35 }
37 36
38 void close() { 37 void close() {
39 _webSocket.close(); 38 _webSocket.close();
40 } 39 }
41 40
42 Future<ByteData> nonStringToByteData(dynamic data) { 41 Future<ByteData> nonStringToByteData(dynamic data) {
43 assert(data is Blob); 42 assert(data is Blob);
44 FileReader fileReader = new FileReader(); 43 FileReader fileReader = new FileReader();
45 fileReader.readAsArrayBuffer(data); 44 fileReader.readAsArrayBuffer(data);
46 return fileReader.onLoadEnd.first.then((e) { 45 return fileReader.onLoadEnd.first.then((e) {
47 var result = fileReader.result; 46 var result = fileReader.result;
48 return new ByteData.view(result.buffer, 47 return new ByteData.view(result.buffer,
49 result.offsetInBytes, 48 result.offsetInBytes,
50 result.length); 49 result.length);
51 }); 50 });
52 } 51 }
53 } 52 }
54 53
55 /// The [WebSocketVM] communicates with a Dart VM over WebSocket. The Dart VM 54 /// The [WebSocketVM] communicates with a Dart VM over WebSocket. The Dart VM
56 /// can be embedded in Chromium or standalone. In the case of Chromium, we 55 /// can be embedded in Chromium or standalone. In the case of Chromium, we
57 /// make the service requests via the Chrome Remote Debugging Protocol. 56 /// make the service requests via the Chrome Remote Debugging Protocol.
58 class WebSocketVM extends CommonWebSocketVM { 57 class WebSocketVM extends CommonWebSocketVM {
59 WebSocketVM(WebSocketVMTarget target) : super(target, new _HtmlWebSocket()); 58 WebSocketVM(WebSocketVMTarget target) : super(target, new _HtmlWebSocket());
60 } 59 }
OLDNEW
« no previous file with comments | « no previous file | runtime/observatory/lib/src/elements/context_view.dart » ('j') | runtime/observatory/lib/src/service/object.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698