mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 05:38:39 +00:00
Fix unsafe "instanceof" negations
https://github.com/MoonchildProductions/Pale-Moon/pull/1173
This commit is contained in:
@@ -7,6 +7,9 @@ module.exports = {
|
||||
],
|
||||
"rules": {
|
||||
"mozilla/import-globals": "warn",
|
||||
|
||||
// No (!foo in bar) or (!object instanceof Class)
|
||||
"no-unsafe-negation": "error",
|
||||
},
|
||||
"env": {
|
||||
"es6": true
|
||||
|
||||
@@ -61,7 +61,7 @@ try {
|
||||
try {
|
||||
m = require(module);
|
||||
|
||||
if (!setupChild in m) {
|
||||
if (!(setupChild in m)) {
|
||||
dumpn(`ERROR: module '${module}' does not export '${setupChild}'`);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1040,7 +1040,7 @@ var DebuggerServer = {
|
||||
try {
|
||||
m = require(module);
|
||||
|
||||
if (!setupParent in m) {
|
||||
if (!(setupParent in m)) {
|
||||
dumpn(`ERROR: module '${module}' does not export '${setupParent}'`);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ var InputWidgetHelper = {
|
||||
},
|
||||
|
||||
hasInputWidget: function(aElement) {
|
||||
if (!aElement instanceof HTMLInputElement)
|
||||
if (!(aElement instanceof HTMLInputElement))
|
||||
return false;
|
||||
|
||||
let type = aElement.getAttribute('type');
|
||||
|
||||
@@ -131,9 +131,6 @@ module.exports = { // eslint-disable-line no-undef
|
||||
// No reassigning native JS objects
|
||||
"no-native-reassign": "error",
|
||||
|
||||
// No (!foo in bar)
|
||||
"no-negated-in-lhs": "error",
|
||||
|
||||
// Nested ternary statements are confusing
|
||||
"no-nested-ternary": "error",
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ this.FxAccountsProfileClient.prototype = {
|
||||
try {
|
||||
return (yield this._rawRequest(path, method, token));
|
||||
} catch (ex) {
|
||||
if (!ex instanceof FxAccountsProfileClientError || ex.code != 401) {
|
||||
if (!(ex instanceof FxAccountsProfileClientError) || ex.code != 401) {
|
||||
throw ex;
|
||||
}
|
||||
// If this object was instantiated with a token then we don't refresh it.
|
||||
@@ -105,7 +105,7 @@ this.FxAccountsProfileClient.prototype = {
|
||||
try {
|
||||
return (yield this._rawRequest(path, method, token));
|
||||
} catch (ex) {
|
||||
if (!ex instanceof FxAccountsProfileClientError || ex.code != 401) {
|
||||
if (!(ex instanceof FxAccountsProfileClientError) || ex.code != 401) {
|
||||
throw ex;
|
||||
}
|
||||
log.info("Retry fetching the profile still returned a 401 - revoking our token and failing");
|
||||
|
||||
@@ -403,7 +403,7 @@ this.FxAccountsStorageManager.prototype = {
|
||||
try {
|
||||
yield this.secureStorage.set(this.cachedPlain.uid, toWriteSecure);
|
||||
} catch (ex) {
|
||||
if (!ex instanceof this.secureStorage.STORAGE_LOCKED) {
|
||||
if (!(ex instanceof this.secureStorage.STORAGE_LOCKED)) {
|
||||
throw ex;
|
||||
}
|
||||
// This shouldn't be possible as once it is unlocked it can't be
|
||||
|
||||
@@ -43,7 +43,7 @@ WBORecord.prototype = {
|
||||
// Get thyself from your URI, then deserialize.
|
||||
// Set thine 'response' field.
|
||||
fetch: function fetch(resource) {
|
||||
if (!resource instanceof Resource) {
|
||||
if (!(resource instanceof Resource)) {
|
||||
throw new Error("First argument must be a Resource instance.");
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ WBORecord.prototype = {
|
||||
},
|
||||
|
||||
upload: function upload(resource) {
|
||||
if (!resource instanceof Resource) {
|
||||
if (!(resource instanceof Resource)) {
|
||||
throw new Error("First argument must be a Resource instance.");
|
||||
}
|
||||
|
||||
|
||||
@@ -455,7 +455,7 @@ Sync11Service.prototype = {
|
||||
this.clientsEngine = new ClientEngine(this);
|
||||
|
||||
for (let name of engines) {
|
||||
if (!name in ENGINE_MODULES) {
|
||||
if (!(name in ENGINE_MODULES)) {
|
||||
this._log.info("Do not know about engine: " + name);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -978,7 +978,7 @@ function browserAdditions (controller) {
|
||||
}, "Timeout", timeout, aInterval);
|
||||
}
|
||||
catch (ex) {
|
||||
if (!ex instanceof errors.TimeoutError) {
|
||||
if (!(ex instanceof errors.TimeoutError)) {
|
||||
throw ex;
|
||||
}
|
||||
timed_out = true;
|
||||
|
||||
@@ -659,7 +659,7 @@ Expect.prototype.waitFor = function Expect_waitFor(aCallback, aMessage, aTimeout
|
||||
Assert.prototype.waitFor.apply(this, arguments);
|
||||
}
|
||||
catch (ex) {
|
||||
if (!ex instanceof errors.AssertionError) {
|
||||
if (!(ex instanceof errors.AssertionError)) {
|
||||
throw ex;
|
||||
}
|
||||
message = ex.message;
|
||||
|
||||
@@ -111,9 +111,6 @@ module.exports = {
|
||||
// No reassigning native JS objects
|
||||
"no-native-reassign": "error",
|
||||
|
||||
// No (!foo in bar)
|
||||
"no-negated-in-lhs": "error",
|
||||
|
||||
// Nested ternary statements are confusing
|
||||
"no-nested-ternary": "error",
|
||||
|
||||
|
||||
@@ -838,7 +838,7 @@
|
||||
* implementation.
|
||||
*/
|
||||
File.DirectoryIterator.Entry.toMsg = function toMsg(value) {
|
||||
if (!value instanceof File.DirectoryIterator.Entry) {
|
||||
if (!(value instanceof File.DirectoryIterator.Entry)) {
|
||||
throw new TypeError("parameter of " +
|
||||
"File.DirectoryIterator.Entry.toMsg must be a " +
|
||||
"File.DirectoryIterator.Entry");
|
||||
@@ -905,7 +905,7 @@
|
||||
* is asymmetric and returns an object with a different implementation.
|
||||
*/
|
||||
File.Info.toMsg = function toMsg(stat) {
|
||||
if (!stat instanceof File.Info) {
|
||||
if (!(stat instanceof File.Info)) {
|
||||
throw new TypeError("parameter of File.Info.toMsg must be a File.Info");
|
||||
}
|
||||
let serialized = {};
|
||||
|
||||
@@ -909,7 +909,7 @@
|
||||
* implementation.
|
||||
*/
|
||||
File.DirectoryIterator.Entry.toMsg = function toMsg(value) {
|
||||
if (!value instanceof File.DirectoryIterator.Entry) {
|
||||
if (!(value instanceof File.DirectoryIterator.Entry)) {
|
||||
throw new TypeError("parameter of " +
|
||||
"File.DirectoryIterator.Entry.toMsg must be a " +
|
||||
"File.DirectoryIterator.Entry");
|
||||
@@ -958,7 +958,7 @@
|
||||
* is asymmetric and returns an object with a different implementation.
|
||||
*/
|
||||
File.Info.toMsg = function toMsg(stat) {
|
||||
if (!stat instanceof File.Info) {
|
||||
if (!(stat instanceof File.Info)) {
|
||||
throw new TypeError("parameter of File.Info.toMsg must be a File.Info");
|
||||
}
|
||||
let serialized = {};
|
||||
|
||||
@@ -109,9 +109,6 @@ module.exports = {
|
||||
// No reassigning native JS objects
|
||||
"no-native-reassign": "error",
|
||||
|
||||
// No (!foo in bar)
|
||||
"no-negated-in-lhs": "error",
|
||||
|
||||
// Nested ternary statements are confusing
|
||||
"no-nested-ternary": "error",
|
||||
|
||||
|
||||
@@ -173,9 +173,6 @@ module.exports = { // eslint-disable-line no-undef
|
||||
// No reassigning native JS objects
|
||||
"no-native-reassign": "error",
|
||||
|
||||
// No (!foo in bar)
|
||||
"no-negated-in-lhs": "error",
|
||||
|
||||
// Nested ternary statements are confusing
|
||||
"no-nested-ternary": "error",
|
||||
|
||||
|
||||
@@ -995,7 +995,7 @@ function cloneStorageConnection(options) {
|
||||
if (!source) {
|
||||
throw new TypeError("connection not specified in clone options.");
|
||||
}
|
||||
if (!source instanceof Ci.mozIStorageAsyncConnection) {
|
||||
if (!(source instanceof Ci.mozIStorageAsyncConnection)) {
|
||||
throw new TypeError("Connection must be a valid Storage connection.");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user