Bug 1460092: Add ESLint rule to enforce use of ChromeUtils.generateQI. r=Gijs

Also fixes existing code which fails the rule.

MozReview-Commit-ID: CkLFgsspGMU
This commit is contained in:
Kris Maglione
2018-05-08 18:36:22 -07:00
parent f45e53c27b
commit c03fa450d6
84 changed files with 328 additions and 564 deletions

View File

@@ -133,7 +133,7 @@ try {
}
let listener = {
QueryInterface: _XPCOMUtils.generateQI(["nsIConsoleListener"]),
QueryInterface: ChromeUtils.generateQI(["nsIConsoleListener"]),
observe(msg) {
if (typeof info === "function")
info("CONSOLE_MESSAGE: (" + levelNames[msg.logLevel] + ") " + msg.toString());
@@ -174,7 +174,7 @@ function _Timer(func, delay) {
_pendingTimers.push(timer);
}
_Timer.prototype = {
QueryInterface: _XPCOMUtils.generateQI(["nsITimerCallback"]),
QueryInterface: ChromeUtils.generateQI(["nsITimerCallback"]),
notify(timer) {
_pendingTimers.splice(_pendingTimers.indexOf(timer), 1);
@@ -280,7 +280,7 @@ var _fakeIdleService = {
lockFactory(aLock) {
throw Components.Exception("", Cr.NS_ERROR_NOT_IMPLEMENTED);
},
QueryInterface: _XPCOMUtils.generateQI(["nsIFactory"]),
QueryInterface: ChromeUtils.generateQI(["nsIFactory"]),
},
// nsIIdleService
@@ -290,6 +290,7 @@ var _fakeIdleService = {
addIdleObserver() {},
removeIdleObserver() {},
// eslint-disable-next-line mozilla/use-chromeutils-generateqi
QueryInterface(aIID) {
// Useful for testing purposes, see test_get_idle.js.
if (aIID.equals(Ci.nsIFactory)) {
@@ -1111,7 +1112,7 @@ function do_get_profile(notifyProfileAfterChange = false) {
}
return null;
},
QueryInterface: _XPCOMUtils.generateQI(["nsIDirectoryServiceProvider"]),
QueryInterface: ChromeUtils.generateQI(["nsIDirectoryServiceProvider"]),
};
_Services.dirsvc.QueryInterface(Ci.nsIDirectoryService)
.registerProvider(provider);