messageHandler expects object instead of string

poc8
Marek Kotewicz 10 years ago
parent ea3048421f
commit f7c9c8928e
  1. 4
      http.js
  2. 3
      main.js
  3. 14
      qt.js
  4. 2
      websocket.js

@ -16,10 +16,10 @@
function formatJsonRpcMessage(message) { function formatJsonRpcMessage(message) {
var object = JSON.parse(message); var object = JSON.parse(message);
return JSON.stringify({ return {
_id: object.id, _id: object.id,
data: object.result data: object.result
}); };
}; };
HttpProvider.prototype.send = function (payload) { HttpProvider.prototype.send = function (payload) {

@ -489,8 +489,7 @@
} }
}); });
function messageHandler(ev) { function messageHandler(data) {
var data = JSON.parse(ev)
if(data._event !== undefined) { if(data._event !== undefined) {
web3.trigger(data._event, data.data); web3.trigger(data._event, data.data);

14
qt.js

@ -1,12 +1,22 @@
(function() { (function() {
var QtProvider = function() {}; var QtProvider = function() {
this.handlers = [];
var self = this;
navigator.qt.onmessage = function (message) {
self.handlers.forEach(function (handler) {
handler.call(self, JSON.parse(message));
});
}
};
QtProvider.prototype.send = function(payload) { QtProvider.prototype.send = function(payload) {
navigator.qt.postData(JSON.stringify(payload)); navigator.qt.postData(JSON.stringify(payload));
}; };
Object.defineProperty(QtProvider.prototype, "onmessage", { Object.defineProperty(QtProvider.prototype, "onmessage", {
set: function(handler) { set: function(handler) {
navigator.qt.onmessage = handler; this.handlers.push(handler);
}, },
}); });

@ -11,7 +11,7 @@
var self = this; var self = this;
this.ws.onmessage = function(event) { this.ws.onmessage = function(event) {
for(var i = 0; i < self.handlers.length; i++) { for(var i = 0; i < self.handlers.length; i++) {
self.handlers[i].call(self, event.data, event) self.handlers[i].call(self, JSON.parse(event.data), event)
} }
}; };

Loading…
Cancel
Save