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

Unified Diff: lib/html/src/Isolates.dart

Issue 10960062: Fix SendPortSync dispatch for FF (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix indentation Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/html/dartium/html_dartium.dart ('k') | lib/html/templates/html/dartium/html_dartium.darttemplate » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
+ 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) {
+ 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;
« no previous file with comments | « lib/html/dartium/html_dartium.dart ('k') | lib/html/templates/html/dartium/html_dartium.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698