aboutsummaryrefslogtreecommitdiffstats
path: root/qt.js
diff options
context:
space:
mode:
Diffstat (limited to 'qt.js')
-rw-r--r--qt.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/qt.js b/qt.js
index 39c0a89a9..1b146c30d 100644
--- a/qt.js
+++ b/qt.js
@@ -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);
},
});