diff options
author | obscuren <geffobscura@gmail.com> | 2014-10-01 05:26:16 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-10-01 05:26:16 +0800 |
commit | 6db40ecb22c28a777f4ab1cd4de5a12e41ac669d (patch) | |
tree | d444855839bf2e498dc9c4724928c7eb07cf6c22 /mist/assets | |
parent | 41ae6f298e079a073282de001e6b1eaa51472638 (diff) | |
download | go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.tar go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.tar.gz go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.tar.bz2 go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.tar.lz go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.tar.xz go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.tar.zst go-tangerine-6db40ecb22c28a777f4ab1cd4de5a12e41ac669d.zip |
WebSocket interface
Web sockets handlers fully implemented. Filter handlers have yet to be
implemented.
Diffstat (limited to 'mist/assets')
-rw-r--r-- | mist/assets/ext/html_messaging.js | 28 | ||||
-rw-r--r-- | mist/assets/ext/pre.js | 3 | ||||
-rw-r--r-- | mist/assets/ext/qt_messaging_adapter.js | 21 | ||||
-rw-r--r-- | mist/assets/qml/webapp.qml | 2 |
4 files changed, 27 insertions, 27 deletions
diff --git a/mist/assets/ext/html_messaging.js b/mist/assets/ext/html_messaging.js index 1f9418148..91310e998 100644 --- a/mist/assets/ext/html_messaging.js +++ b/mist/assets/ext/html_messaging.js @@ -1,9 +1,8 @@ // The magic return variable. The magic return variable will be set during the execution of the QML call. (function(window) { - function message(type, data) { - document.title = JSON.stringify({type: type, data: data}); - - return window.____returnData; + var Promise = window.Promise; + if(typeof(Promise) === "undefined") { + var Promise = Q.Promise; } function isPromise(o) { @@ -446,6 +445,7 @@ } }); + var g_seed = 1; function postData(data, cb) { data._seed = g_seed; @@ -459,24 +459,6 @@ g_seed++; - navigator.qt.postMessage(JSON.stringify(data)); - } - - navigator.qt.onmessage = function(ev) { - var data = JSON.parse(ev.data) - - if(data._event !== undefined) { - eth.trigger(data._event, data.data); - } else { - if(data._seed) { - var cb = eth._callbacks[data._seed]; - if(cb) { - cb.call(this, data.data) - - // Remove the "trigger" callback - delete eth._callbacks[ev._seed]; - } - } - } + window._messagingAdapter.call(this, JSON.stringify(data)) } })(this); diff --git a/mist/assets/ext/pre.js b/mist/assets/ext/pre.js deleted file mode 100644 index f298fe9a1..000000000 --- a/mist/assets/ext/pre.js +++ /dev/null @@ -1,3 +0,0 @@ -if(typeof(Promise) === "undefined") { - window.Promise = Q.Promise; -} diff --git a/mist/assets/ext/qt_messaging_adapter.js b/mist/assets/ext/qt_messaging_adapter.js new file mode 100644 index 000000000..ff6976177 --- /dev/null +++ b/mist/assets/ext/qt_messaging_adapter.js @@ -0,0 +1,21 @@ +window._messagingAdapter = function(data) { + navigator.qt.postMessage(data); +}; + +navigator.qt.onmessage = function(ev) { + var data = JSON.parse(ev.data) + + if(data._event !== undefined) { + eth.trigger(data._event, data.data); + } else { + if(data._seed) { + var cb = eth._callbacks[data._seed]; + if(cb) { + cb.call(this, data.data) + + // Remove the "trigger" callback + delete eth._callbacks[ev._seed]; + } + } + } +} diff --git a/mist/assets/qml/webapp.qml b/mist/assets/qml/webapp.qml index dde298484..09e6a83ad 100644 --- a/mist/assets/qml/webapp.qml +++ b/mist/assets/qml/webapp.qml @@ -164,7 +164,7 @@ import "../ext/qml_messaging.js" as Messaging experimental.preferences.javascriptEnabled: true experimental.preferences.navigatorQtObjectEnabled: true experimental.preferences.developerExtrasEnabled: true - experimental.userScripts: ["../ext/q.js", "../ext/pre.js", "../ext/big.js", "../ext/string.js", "../ext/html_messaging.js"] + experimental.userScripts: ["../ext/qt_messaging_adapter.js", "../ext/q.js", "../ext/big.js", "../ext/string.js", "../ext/html_messaging.js"] experimental.onMessageReceived: { console.log("[onMessageReceived]: ", message.data) // TODO move to messaging.js |