diff options
author | zelig <viktor.tron@gmail.com> | 2014-07-01 22:03:02 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2014-07-01 22:03:02 +0800 |
commit | 89630d2826300d119f2cdc9f8af6c94926f478a2 (patch) | |
tree | aa2addd061e2d2a8f3cdc0821260409f31ac3b09 /ethereal/assets/muted/muted.js | |
parent | 12972b4b65a303dc3f9e135b0e2d97f8b7a661e2 (diff) | |
parent | 550407b0ec78b7026737d1abe28127da8c0c9063 (diff) | |
download | go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.tar go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.tar.gz go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.tar.bz2 go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.tar.lz go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.tar.xz go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.tar.zst go-tangerine-89630d2826300d119f2cdc9f8af6c94926f478a2.zip |
merge upstream
Diffstat (limited to 'ethereal/assets/muted/muted.js')
-rw-r--r-- | ethereal/assets/muted/muted.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ethereal/assets/muted/muted.js b/ethereal/assets/muted/muted.js new file mode 100644 index 000000000..72e858d7a --- /dev/null +++ b/ethereal/assets/muted/muted.js @@ -0,0 +1,61 @@ +// Helper function for generating pseudo callbacks and sending data to the QML part of the application +function postData(data, cb) { + data._seed = Math.floor(Math.random() * 1000000) + if(cb) { + Muted._callbacks[data._seed] = cb; + } + + if(data.args === undefined) { + data.args = []; + } + + navigator.qt.postMessage(JSON.stringify(data)); +} + +window.Muted = { + prototype: Object(), +} + +window.Muted._callbacks = {} +window.Muted._onCallbacks = {} + +function debug(/**/) { + console.log("hello world") + + var args = arguments; + var msg = "" + for(var i = 0; i < args.length; i++){ + if(typeof args[i] == "object") { + msg += " " + JSON.stringify(args[i]) + } else { + msg += args[i] + } + } + + document.querySelector("#debugger").innerHTML += "<div class='line'><div class='col1'></div><div class='col2'>"+msg+"</div></div>"; +} +console.log = function() { + var args = [] + for(var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + postData({call:"log", args:args}) +} + +navigator.qt.onmessage = function(ev) { + var data = JSON.parse(ev.data) + + if(data._event !== undefined) { + Muted.trigger(data._event, data.data); + } else { + if(data._seed) { + var cb = Muted._callbacks[data._seed]; + if(cb) { + // Call the callback + cb(data.data); + // Remove the "trigger" callback + delete Muted._callbacks[ev._seed]; + } + } + } +} |