mirror of https://github.com/gorhill/uBlock.git
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:
parent
637a75e6a0
commit
f9109d7460
|
@ -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;
|
||||||
},
|
},
|
||||||
|
|
|
@ -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({
|
||||||
|
|
|
@ -96,7 +96,7 @@ vAPI.messaging = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.injectScript(details.file || details.code, !details.file);
|
self.injectScript(details.file);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue