Chromium Code Reviews| Index: lib/html/src/Isolates.dart |
| diff --git a/lib/html/src/Isolates.dart b/lib/html/src/Isolates.dart |
| index e3e89c708e8335441c770d02345dfd8000b38d9b..3bbbf7f6c741d7327d89ad1e38a077cc4e2eff52 100644 |
| --- a/lib/html/src/Isolates.dart |
| +++ b/lib/html/src/Isolates.dart |
| @@ -89,8 +89,8 @@ class _RemoteSendPortSync implements SendPortSync { |
| // TODO(vsm): Set this up set once, on the first call. |
| var source = '$target-result'; |
| var result = null; |
| - var listener = (TextEvent e) { |
| - result = JSON.parse(e.data); |
| + var listener = (Event e) { |
|
blois
2012/09/24 22:20:14
Seems like this should be CustomEvent, no? detail
vsm
2012/09/25 16:22:51
I've had the change the Event type a couple times,
|
| + result = JSON.parse(_getPortSyncEventData(e)); |
| }; |
| window.on[source].add(listener); |
| _dispatchEvent(target, [source, message]); |
| @@ -161,8 +161,8 @@ class ReceivePortSync { |
| void receive(callback(var message)) { |
| _callback = callback; |
| if (_listener === null) { |
| - _listener = (TextEvent e) { |
| - var data = JSON.parse(e.data); |
| + _listener = (Event e) { |
|
blois
2012/09/24 22:20:14
CustomEvent?
vsm
2012/09/25 16:22:51
See above.
On 2012/09/24 22:20:14, blois wrote:
|
| + var data = JSON.parse(_getPortSyncEventData(e)); |
| var replyTo = data[0]; |
| var message = _deserialize(data[1]); |
| var result = _callback(message); |
| @@ -193,7 +193,9 @@ class ReceivePortSync { |
| get _isolateId => ReceivePortSync._isolateId; |
| void _dispatchEvent(String receiver, var message) { |
| - var event = document.$dom_createEvent('TextEvent'); |
| - event.initTextEvent(receiver, false, false, window, JSON.stringify(message)); |
| + var event = document.$dom_createEvent('CustomEvent'); |
| + event.initCustomEvent(receiver, false, false, JSON.stringify(message)); |
| window.$dom_dispatchEvent(event); |
| } |
| + |
| +String _getPortSyncEventData(CustomEvent event) => event.detail; |