From 45cd3305d10c8576f2c0def9f12dc82af8f2920e Mon Sep 17 00:00:00 2001 From: Deathamns Date: Tue, 27 Jan 2015 13:31:17 +0100 Subject: [PATCH] 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. --- platform/firefox/frameModule.js | 39 ++++++++++++++------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/platform/firefox/frameModule.js b/platform/firefox/frameModule.js index a360d71..98338e3 100644 --- a/platform/firefox/frameModule.js +++ b/platform/firefox/frameModule.js @@ -183,14 +183,9 @@ const contentObserver = { wantXHRConstructor: false }); - sandbox.injectScript = function(script, evalCode) { - if ( evalCode ) { - Cu.evalInSandbox(script, this); - return; - } - - Services.scriptloader.loadSubScript(script, this); - }.bind(sandbox); + sandbox.injectScript = function(script) { + Services.scriptloader.loadSubScript(script, sandbox); + }; } else { sandbox = win; @@ -200,43 +195,43 @@ const contentObserver = { sandbox.sendAsyncMessage = messager.sendAsyncMessage; sandbox.addMessageListener = function(callback) { - if ( this._messageListener_ ) { - this.removeMessageListener( - this._sandboxId_, - this._messageListener_ + if ( sandbox._messageListener_ ) { + sandbox.removeMessageListener( + sandbox._sandboxId_, + sandbox._messageListener_ ); } - this._messageListener_ = function(message) { + sandbox._messageListener_ = function(message) { callback(message.data); }; messager.addMessageListener( - this._sandboxId_, - this._messageListener_ + sandbox._sandboxId_, + sandbox._messageListener_ ); messager.addMessageListener( hostName + ':broadcast', - this._messageListener_ + sandbox._messageListener_ ); - }.bind(sandbox); + }; sandbox.removeMessageListener = function() { try { messager.removeMessageListener( - this._sandboxId_, - this._messageListener_ + sandbox._sandboxId_, + sandbox._messageListener_ ); messager.removeMessageListener( hostName + ':broadcast', - this._messageListener_ + sandbox._messageListener_ ); } catch (ex) { // It throws sometimes, mostly when the popup closes } - this._messageListener_ = null; - }.bind(sandbox); + sandbox._messageListener_ = null; + }; return sandbox; },