Firefox: remove evalInSandbox

Probably we won't eval plain text code, which makes it unnecessary, also
this way the validator on AMO won't complain about it.
This commit is contained in:
Deathamns 2015-01-27 13:31:17 +01:00
parent 637a75e6a0
commit f9109d7460
3 changed files with 21 additions and 26 deletions

View File

@ -183,14 +183,9 @@ const contentObserver = {
wantXHRConstructor: false wantXHRConstructor: false
}); });
sandbox.injectScript = function(script, evalCode) { sandbox.injectScript = function(script) {
if ( evalCode ) { Services.scriptloader.loadSubScript(script, sandbox);
Cu.evalInSandbox(script, this); };
return;
}
Services.scriptloader.loadSubScript(script, this);
}.bind(sandbox);
} }
else { else {
sandbox = win; sandbox = win;
@ -200,43 +195,43 @@ const contentObserver = {
sandbox.sendAsyncMessage = messager.sendAsyncMessage; sandbox.sendAsyncMessage = messager.sendAsyncMessage;
sandbox.addMessageListener = function(callback) { sandbox.addMessageListener = function(callback) {
if ( this._messageListener_ ) { if ( sandbox._messageListener_ ) {
this.removeMessageListener( sandbox.removeMessageListener(
this._sandboxId_, sandbox._sandboxId_,
this._messageListener_ sandbox._messageListener_
); );
} }
this._messageListener_ = function(message) { sandbox._messageListener_ = function(message) {
callback(message.data); callback(message.data);
}; };
messager.addMessageListener( messager.addMessageListener(
this._sandboxId_, sandbox._sandboxId_,
this._messageListener_ sandbox._messageListener_
); );
messager.addMessageListener( messager.addMessageListener(
hostName + ':broadcast', hostName + ':broadcast',
this._messageListener_ sandbox._messageListener_
); );
}.bind(sandbox); };
sandbox.removeMessageListener = function() { sandbox.removeMessageListener = function() {
try { try {
messager.removeMessageListener( messager.removeMessageListener(
this._sandboxId_, sandbox._sandboxId_,
this._messageListener_ sandbox._messageListener_
); );
messager.removeMessageListener( messager.removeMessageListener(
hostName + ':broadcast', hostName + ':broadcast',
this._messageListener_ sandbox._messageListener_
); );
} catch (ex) { } catch (ex) {
// It throws sometimes, mostly when the popup closes // It throws sometimes, mostly when the popup closes
} }
this._messageListener_ = null; sandbox._messageListener_ = null;
}.bind(sandbox); };
return sandbox; return sandbox;
}, },

View File

@ -610,11 +610,11 @@ vAPI.tabs.injectScript = function(tabId, details, callback) {
return; return;
} }
if ( details.file ) { if ( typeof details.file !== 'string' ) {
details.file = vAPI.getURL(details.file); return;
} }
details.file = vAPI.getURL(details.file);
tab.linkedBrowser.messageManager.sendAsyncMessage( tab.linkedBrowser.messageManager.sendAsyncMessage(
location.host + ':broadcast', location.host + ':broadcast',
JSON.stringify({ JSON.stringify({

View File

@ -96,7 +96,7 @@ vAPI.messaging = {
return; return;
} }
self.injectScript(details.file || details.code, !details.file); self.injectScript(details.file);
} }
}; };
}, },