Chromium Code Reviews| Index: client/dart.js |
| diff --git a/client/dart.js b/client/dart.js |
| index 094122a2537797fa7a69b2d4f5b7c7998c19d2d2..ffbbf519030a696c17c351fcf320989307257de4 100644 |
| --- a/client/dart.js |
| +++ b/client/dart.js |
| @@ -191,7 +191,7 @@ function ReceivePortSync() { |
| if (navigator.webkitStartDart) { |
| window.addEventListener('js-sync-message', function(event) { |
| - var data = JSON.parse(event.data); |
| + var data = JSON.parse(getPortSyncEventData(event)); |
| var deserialized = deserialize(data.message); |
| var result = ReceivePortSync.map[data.id].callback(deserialized); |
| // TODO(vsm): Handle and propagate exceptions. |
| @@ -220,11 +220,15 @@ function ReceivePortSync() { |
| function dispatchEvent(receiver, message) { |
| var string = JSON.stringify(message); |
| - var event = document.createEvent('TextEvent'); |
| - event.initTextEvent(receiver, false, false, window, string); |
| + var event = document.createEvent('CustomEvent'); |
| + event.initCustomEvent(receiver, false, false, string); |
|
blois
2012/09/24 22:20:14
odd indenting.
vsm
2012/09/25 16:22:51
Done.
|
| window.dispatchEvent(event); |
| } |
| + function getPortSyncEventData(event) { |
| + return event.detail; |
| + } |
| + |
| DartSendPortSync.prototype.callSync = function(message) { |
| var serialized = serialize(message); |
| var target = 'dart-port-' + this.isolateId + '-' + this.portId; |
| @@ -233,7 +237,7 @@ function ReceivePortSync() { |
| var source = target + '-result'; |
| var result = null; |
| var listener = function (e) { |
| - result = JSON.parse(e.data); |
| + result = JSON.parse(getPortSyncEventData(e)); |
| }; |
| window.addEventListener(source, listener, false); |
| dispatchEvent(target, [source, serialized]); |