aboutsummaryrefslogtreecommitdiff
path: root/js/firefox/page-shim.js
diff options
context:
space:
mode:
authorEinar Egilsson <einar@einaregilsson.com>2015-09-24 11:25:45 +0000
committerEinar Egilsson <einar@einaregilsson.com>2015-09-24 11:25:45 +0000
commit3adcb7ae1654928a8a86de4cf329dcd912bcbb33 (patch)
tree6a992508214e6d6a31af400e5ff8a192203e5fd0 /js/firefox/page-shim.js
parentf432a10a164e9a32f7bb915e5ca8cef5489f3ccd (diff)
3.0.1. Fix Firefox disabling issues, simplify the chrome api shim, make things a bit more robust
Diffstat (limited to 'js/firefox/page-shim.js')
-rw-r--r--js/firefox/page-shim.js27
1 files changed, 11 insertions, 16 deletions
diff --git a/js/firefox/page-shim.js b/js/firefox/page-shim.js
index dd2361b..6496910 100644
--- a/js/firefox/page-shim.js
+++ b/js/firefox/page-shim.js
@@ -1,32 +1,27 @@
(function() {
- //Communication functions for
-
- if (typeof chrome !== 'undefined') {
- return;
- }
function log(msg) {
- window.postMessage({sender:'page', logMessage: msg}, '*');
+ self.port.emit('log', msg);
}
+ var parts = location.pathname.split('/');
+ var urlName = parts[parts.length-1];
var messageId = 1;
var callbacks = {};
function send(type, message, callback) {
var id = messageId++;
- window.postMessage({sender:'page', url:location.href, messageId:id, messageType:type, payload:message}, '*');
- callbacks[id] = callback;
+ self.port.emit('message', {url:urlName, messageId:id, messageType:type, payload:message});
+ callbacks[id] = callback || function(){};
}
- window.addEventListener('message', function(message) {
- if (message.data.sender == 'page') {
- return; //Ignore messages we sent ourselves
- }
- log('page got message: ' + JSON.stringify(message.data));
+
+ self.port.on('message', function(message) {
+ log('page got message: ' + JSON.stringify(message));
- var callback = callbacks[message.data.messageId];
+ var callback = callbacks[message.messageId];
if (callback) {
- callback(message.data.payload);
- delete callbacks[message.data.messageId];
+ callback(message.payload);
+ delete callbacks[message.messageId];
}
});