diff options
Diffstat (limited to 'qt.js')
-rw-r--r-- | qt.js | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -1,12 +1,22 @@ (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) { navigator.qt.postData(JSON.stringify(payload)); }; Object.defineProperty(QtProvider.prototype, "onmessage", { set: function(handler) { - navigator.qt.onmessage = handler; + this.handlers.push(handler); }, }); |