| Index: client/dart.js
|
| diff --git a/client/dart.js b/client/dart.js
|
| index 094122a2537797fa7a69b2d4f5b7c7998c19d2d2..c76e3fa5fad0d02620f7b0050b640179aa8c314a 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);
|
| 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]);
|
|
|