moonlight-chrome/static/js/messages.js
2016-05-09 13:20:08 -04:00

33 lines
1.3 KiB
JavaScript

var callbacks = {}
var callbacks_ids = 1;
var sendMessage = function(method, params) {
return new Promise(function(resolve, reject) {
var id = callbacks_ids++;
callbacks[id] = {'resolve': resolve, 'reject': reject};
common.naclModule.postMessage({
'callbackId': id,
'method': method,
'params': params
});
});
}
function handleMessage(msg) {
if (msg.data.callbackId && callbacks[msg.data.callbackId]) { // if it's a callback, treat it as such
callbacks[msg.data.callbackId][msg.data.type](msg.data.ret);
delete callbacks[msg.data.callbackId]
} else { // else, it's just info, or an event
console.log(msg.data);
if(msg.data === 'streamTerminated') { // if it's a recognized event, notify the appropriate function
$('#loadingSpinner').css('display', 'none'); // This is a fallback for RTSP handshake failing, which immediately terminates the stream.
api.refreshServerInfo().then(function (ret) {
showAppsMode();
chrome.app.window.current().restore();
});
} else if(msg.data === 'Connection Established') {
$('#loadingSpinner').css('display', 'none');
}
}
}