From d1ffd610936f6bf45b7f69586bf80aae514106b0 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 4 Feb 2018 12:20:54 +0100 Subject: [PATCH 1/4] [Firefox addon] Change the minimum supported version to (the current) Firefox Nightly release At this point in time, trying to keep the development addon compatible with prior Firefox versions is already quite difficult and will become even harder very soon. Please keep in mind that since Firefox 57, only WebExtensions are allowed/possible to install. The only exceptions are Firefox Nightly, with the `xpinstall.signatures.required` preference[1] set to `false`, and the (as of this writing) current ESR release.[2] With the current compatibility situation, we thus need to effectively support both Nightly *and* ESR in the addon, while trying to keep up with current/upcoming changes in `mozilla-central`. With old addons no longer being officially supported, the amount of old code being removed/refactored is now increasing quite quickly. *Please note:* The changes proposed here was to a large extent prompted by bugs such as: - https://bugzilla.mozilla.org/show_bug.cgi?id=1431533 (already landed) - https://bugzilla.mozilla.org/show_bug.cgi?id=767640 (already landed) - https://bugzilla.mozilla.org/show_bug.cgi?id=1432992 (still open) Upstreaming all of those changes for the `MOZCENTRAL` version of PDF.js, while also keeping the Firefox addon running in older versions of the browser, would quickly become non-trivial. Since we're using the ruleset from `eslint-plugin-mozilla` for the addon files, which is enforced in `mozilla-central`, we must ensure that the neccessary changes are upstreamed to the PDF.js repo such that the `mozilla-central` version of PDF.js can still be updated without failures. Trying to feature detect, for the `FIREFOX` build target, some of the changes in the referenced bugs would probably become both quite messy and (not to mention) difficult. E.g. with the upcoming and automatically defined `Cc, Ci, Cu, Cr` variables, any sort of feature detection might be tricky since those need to be defined in the global scope of the files in question. Finally, given the amount of effort that we'd now need to spend to even attempt to keep the Firefox addon compatible, I just don't think it's worth the effort any more. Especially since the number of people that have, thus far, been doing this work is *very* low and those resources would be better spend elsewhere. Unfortunately, this probably means that the development addon will no longer be compatible with release versions of Seamonkey. However the README has already mentioned, for quite some time, that support isn't guaranteed. *In closing:* For all of the reasons mentioned above, I thus propose that we reduce the maintenance burden of the Firefox addon by only supporting the current Firefox Nightly. --- [1] While the preference exists, and can be toggled, its value is ignored in non-Nightly versions of Firefox. [2] There's unbranded builds of e.g. the release/beta versions of Firefox, where old and non-WebExtensions addons can be installed. However those builds can probably be assumed to be officially unsupported, and thus not recommended for users. --- README.md | 4 ++-- extensions/firefox/install.rdf | 8 ++++---- extensions/firefox/update.rdf | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3479f2b75..e2a28ae02 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,9 @@ PDF.js is built into version 19+ of Firefox, however, one extension is still ava + [Development Version](http://mozilla.github.io/pdf.js/extensions/firefox/pdf.js.xpi) - This extension is mainly intended for developers/testers, and it is updated every time new code is merged into the PDF.js codebase. It should be quite stable but might break from time to time. - + Please note that the extension is *not* guaranteed to be compatible with Firefox versions that are *older* than the current ESR version, see the [Release Calendar](https://wiki.mozilla.org/RapidRelease/Calendar#Past_branch_dates). + + Please note that the extension is *not* guaranteed to be compatible with Firefox versions that are *older* than the current Nightly version, see the [Release Calendar](https://wiki.mozilla.org/RapidRelease/Calendar#Past_branch_dates). - + The extension should also work in Seamonkey, provided that it is based on a Firefox version as above (see [Which version of Firefox does SeaMonkey 2.x correspond with?](https://wiki.mozilla.org/SeaMonkey/FAQ#General)), but we do *not* guarantee compatibility. + + The extension *may* also work in Seamonkey, provided that it is based on a Firefox version as above (see [Which version of Firefox does SeaMonkey 2.x correspond with?](https://wiki.mozilla.org/SeaMonkey/FAQ#General)), but we do *not* guarantee compatibility. #### Chrome diff --git a/extensions/firefox/install.rdf b/extensions/firefox/install.rdf index ad00cab3a..5d010b003 100644 --- a/extensions/firefox/install.rdf +++ b/extensions/firefox/install.rdf @@ -13,8 +13,8 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} - 45.0 - 54.0a1 + 59.* + 61.0a1 @@ -31,8 +31,8 @@ {aa3c5121-dab2-40e2-81ca-7ea25febc110} - 45.0 - 54.0a1 + 59.* + 61.0a1 diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf index 260a1f33f..b74b618c7 100644 --- a/extensions/firefox/update.rdf +++ b/extensions/firefox/update.rdf @@ -14,8 +14,8 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} - 45.0 - 54.0a1 + 59.* + 61.0a1 https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi @@ -25,8 +25,8 @@ {aa3c5121-dab2-40e2-81ca-7ea25febc110} - 45.0 - 54.0a1 + 59.* + 61.0a1 https://raw.githubusercontent.com/mozilla/pdf.js/gh-pages/extensions/firefox/pdf.js.xpi From 08b2e25ac1188ca863e587ca98f1f402e5451611 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 4 Feb 2018 12:25:56 +0100 Subject: [PATCH 2/4] [Firefox addon] Remove no longer needed fallback code for older versions of Firefox --- .../firefox/content/PdfStreamConverter.jsm | 10 --------- .../firefox/content/PdfjsChromeUtils.jsm | 21 ------------------- .../firefox/content/PdfjsContentUtils.jsm | 12 ----------- 3 files changed, 43 deletions(-) diff --git a/extensions/firefox/content/PdfStreamConverter.jsm b/extensions/firefox/content/PdfStreamConverter.jsm index 48779e25d..219e0a037 100644 --- a/extensions/firefox/content/PdfStreamConverter.jsm +++ b/extensions/firefox/content/PdfStreamConverter.jsm @@ -93,11 +93,6 @@ function getIntPref(pref, def) { function getStringPref(pref, def) { try { -//#if !MOZCENTRAL - if (!Services.prefs.getStringPref) { - return Services.prefs.getComplexValue(pref, Ci.nsISupportsString).data; - } -//#endif return Services.prefs.getStringPref(pref); } catch (ex) { return def; @@ -325,11 +320,6 @@ class ChromeActions { } getLocale() { -//#if !MOZCENTRAL - if (!Services.locale.getRequestedLocale) { - return getStringPref("general.useragent.locale", "en-US"); - } -//#endif return Services.locale.getRequestedLocale() || "en-US"; } diff --git a/extensions/firefox/content/PdfjsChromeUtils.jsm b/extensions/firefox/content/PdfjsChromeUtils.jsm index 92d0ac0b2..632f715e7 100644 --- a/extensions/firefox/content/PdfjsChromeUtils.jsm +++ b/extensions/firefox/content/PdfjsChromeUtils.jsm @@ -74,18 +74,6 @@ var PdfjsChromeUtils = { this._mmg.addMessageListener("PDFJS:Parent:removeEventListener", this); this._mmg.addMessageListener("PDFJS:Parent:updateControlState", this); -//#if !MOZCENTRAL - // The signature of `Services.obs.addObserver` changed in Firefox 55, - // see https://bugzilla.mozilla.org/show_bug.cgi?id=1355216. - // PLEASE NOTE: While the third parameter is now optional, - // omitting it in prior Firefox versions breaks the addon. - var ffVersion = parseInt(Services.appinfo.platformVersion); - if (ffVersion <= 55) { - // eslint-disable-next-line mozilla/no-useless-parameters - Services.obs.addObserver(this, "quit-application", false); - return; - } -//#endif // Observer to handle shutdown. Services.obs.addObserver(this, "quit-application"); } @@ -287,15 +275,6 @@ var PdfjsChromeUtils = { _setStringPref(aPrefName, aPrefValue) { this._ensurePreferenceAllowed(aPrefName); -//#if !MOZCENTRAL - if (!Services.prefs.setStringPref) { - let str = Cc["@mozilla.org/supports-string;1"] - .createInstance(Ci.nsISupportsString); - str.data = aPrefValue; - Services.prefs.setComplexValue(aPrefName, Ci.nsISupportsString, str); - return; - } -//#endif Services.prefs.setStringPref(aPrefName, aPrefValue); }, diff --git a/extensions/firefox/content/PdfjsContentUtils.jsm b/extensions/firefox/content/PdfjsContentUtils.jsm index 0a51b5fd4..6ad15c901 100644 --- a/extensions/firefox/content/PdfjsContentUtils.jsm +++ b/extensions/firefox/content/PdfjsContentUtils.jsm @@ -45,18 +45,6 @@ var PdfjsContentUtils = { getService(Ci.nsISyncMessageSender); this._mm.addMessageListener("PDFJS:Child:updateSettings", this); -//#if !MOZCENTRAL - // The signature of `Services.obs.addObserver` changed in Firefox 55, - // see https://bugzilla.mozilla.org/show_bug.cgi?id=1355216. - // PLEASE NOTE: While the third parameter is now optional, - // omitting it in prior Firefox versions breaks the addon. - var ffVersion = parseInt(Services.appinfo.platformVersion); - if (ffVersion <= 55) { - // eslint-disable-next-line mozilla/no-useless-parameters - Services.obs.addObserver(this, "quit-application", false); - return; - } -//#endif Services.obs.addObserver(this, "quit-application"); } }, From 4db49b6613401a336f68098656e56e1fca442895 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 4 Feb 2018 13:40:07 +0100 Subject: [PATCH 3/4] Upstream the changes from: Bug 1431533 - Add ChromeUtils helpers for lazy module import Please see: - https://bugzilla.mozilla.org/show_bug.cgi?id=1431533 - https://hg.mozilla.org/mozilla-central/rev/e6a7b5e11ba8 - https://groups.google.com/forum/#!topic/mozilla.dev.platform/xQaTdsrbd-g --- extensions/firefox/bootstrap.js | 10 +++++----- extensions/firefox/chrome/content.js | 8 ++++---- extensions/firefox/content/PdfJs.jsm | 12 ++++++------ extensions/firefox/content/PdfJsNetwork.jsm | 2 +- extensions/firefox/content/PdfJsTelemetry.jsm | 2 +- extensions/firefox/content/PdfStreamConverter.jsm | 14 +++++++------- extensions/firefox/content/PdfjsChromeUtils.jsm | 4 ++-- extensions/firefox/content/PdfjsContentUtils.jsm | 6 +++--- .../firefox/content/pdfjschildbootstrap-enabled.js | 4 ++-- extensions/firefox/content/pdfjschildbootstrap.js | 2 +- 10 files changed, 32 insertions(+), 32 deletions(-) diff --git a/extensions/firefox/bootstrap.js b/extensions/firefox/bootstrap.js index 6ab7db653..34af30605 100644 --- a/extensions/firefox/bootstrap.js +++ b/extensions/firefox/bootstrap.js @@ -26,8 +26,8 @@ const Cm = Components.manager; const Cu = Components.utils; const Cr = Components.results; -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); function initializeDefaultPreferences() { /* eslint-disable semi */ @@ -120,14 +120,14 @@ function startup(aData, aReason) { pdfBaseUrl = aData.resourceURI.spec; - Cu.import(pdfBaseUrl + "content/PdfjsChromeUtils.jsm"); + ChromeUtils.import(pdfBaseUrl + "content/PdfjsChromeUtils.jsm"); PdfjsChromeUtils.init(); - Cu.import(pdfBaseUrl + "content/PdfjsContentUtils.jsm"); + ChromeUtils.import(pdfBaseUrl + "content/PdfjsContentUtils.jsm"); PdfjsContentUtils.init(); // Load the component and register it. var pdfStreamConverterUrl = pdfBaseUrl + "content/PdfStreamConverter.jsm"; - Cu.import(pdfStreamConverterUrl); + ChromeUtils.import(pdfStreamConverterUrl); pdfStreamConverterFactory.register(PdfStreamConverter); try { diff --git a/extensions/firefox/chrome/content.js b/extensions/firefox/chrome/content.js index 50b9600ef..f2cf00a67 100644 --- a/extensions/firefox/chrome/content.js +++ b/extensions/firefox/chrome/content.js @@ -25,8 +25,8 @@ const Cu = Components.utils; const Cr = Components.results; - Cu.import("resource://gre/modules/XPCOMUtils.jsm"); - Cu.import("resource://gre/modules/Services.jsm"); + ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); + ChromeUtils.import("resource://gre/modules/Services.jsm"); var isRemote = Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT; @@ -72,10 +72,10 @@ var pdfStreamConverterFactory = new Factory(); function startup() { - Cu.import("resource://pdf.js/PdfjsContentUtils.jsm"); + ChromeUtils.import("resource://pdf.js/PdfjsContentUtils.jsm"); PdfjsContentUtils.init(); - Cu.import("resource://pdf.js/PdfStreamConverter.jsm"); + ChromeUtils.import("resource://pdf.js/PdfStreamConverter.jsm"); pdfStreamConverterFactory.register(PdfStreamConverter); } diff --git a/extensions/firefox/content/PdfJs.jsm b/extensions/firefox/content/PdfJs.jsm index b02cc6e87..f08b60fa8 100644 --- a/extensions/firefox/content/PdfJs.jsm +++ b/extensions/firefox/content/PdfJs.jsm @@ -39,8 +39,8 @@ const TOPIC_PLUGINS_LIST_UPDATED = "plugins-list-updated"; const TOPIC_PLUGIN_INFO_UPDATED = "plugin-info-updated"; const PDF_CONTENT_TYPE = "application/pdf"; -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); var Svc = {}; XPCOMUtils.defineLazyServiceGetter(Svc, "mime", @@ -49,9 +49,9 @@ XPCOMUtils.defineLazyServiceGetter(Svc, "mime", XPCOMUtils.defineLazyServiceGetter(Svc, "pluginHost", "@mozilla.org/plugin/host;1", "nsIPluginHost"); -XPCOMUtils.defineLazyModuleGetter(this, "PdfjsChromeUtils", +ChromeUtils.defineModuleGetter(this, "PdfjsChromeUtils", "resource://pdf.js/PdfjsChromeUtils.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "PdfjsContentUtils", +ChromeUtils.defineModuleGetter(this, "PdfjsContentUtils", "resource://pdf.js/PdfjsContentUtils.jsm"); function getBoolPref(aPref, aDefaultValue) { @@ -314,7 +314,7 @@ var PdfJs = { this.updateRegistration(); let jsm = "resource://pdf.js/PdfjsChromeUtils.jsm"; - let PdfjsChromeUtils = Components.utils.import(jsm, {}).PdfjsChromeUtils; + let PdfjsChromeUtils = ChromeUtils.import(jsm, {}).PdfjsChromeUtils; PdfjsChromeUtils.notifyChildOfSettingsChange(this.enabled); }, @@ -342,7 +342,7 @@ var PdfJs = { return; } this._pdfStreamConverterFactory = new Factory(); - Cu.import("resource://pdf.js/PdfStreamConverter.jsm"); + ChromeUtils.import("resource://pdf.js/PdfStreamConverter.jsm"); this._pdfStreamConverterFactory.register(PdfStreamConverter); this._registered = true; diff --git a/extensions/firefox/content/PdfJsNetwork.jsm b/extensions/firefox/content/PdfJsNetwork.jsm index 4c939a8ea..ac3d30194 100644 --- a/extensions/firefox/content/PdfJsNetwork.jsm +++ b/extensions/firefox/content/PdfJsNetwork.jsm @@ -15,7 +15,7 @@ "use strict"; -Components.utils.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); var EXPORTED_SYMBOLS = ["NetworkManager"]; diff --git a/extensions/firefox/content/PdfJsTelemetry.jsm b/extensions/firefox/content/PdfJsTelemetry.jsm index 6c676e43a..f322177f5 100644 --- a/extensions/firefox/content/PdfJsTelemetry.jsm +++ b/extensions/firefox/content/PdfJsTelemetry.jsm @@ -19,7 +19,7 @@ this.EXPORTED_SYMBOLS = ["PdfJsTelemetry"]; const Cu = Components.utils; -Cu.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); this.PdfJsTelemetry = { onViewerIsUsed() { diff --git a/extensions/firefox/content/PdfStreamConverter.jsm b/extensions/firefox/content/PdfStreamConverter.jsm index 219e0a037..d6402baae 100644 --- a/extensions/firefox/content/PdfStreamConverter.jsm +++ b/extensions/firefox/content/PdfStreamConverter.jsm @@ -29,22 +29,22 @@ const PDF_VIEWER_WEB_PAGE = "resource://pdf.js/web/viewer.html"; const MAX_NUMBER_OF_PREFS = 50; const MAX_STRING_PREF_LENGTH = 128; -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "NetUtil", +ChromeUtils.defineModuleGetter(this, "NetUtil", "resource://gre/modules/NetUtil.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "NetworkManager", +ChromeUtils.defineModuleGetter(this, "NetworkManager", "resource://pdf.js/PdfJsNetwork.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils", +ChromeUtils.defineModuleGetter(this, "PrivateBrowsingUtils", "resource://gre/modules/PrivateBrowsingUtils.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "PdfJsTelemetry", +ChromeUtils.defineModuleGetter(this, "PdfJsTelemetry", "resource://pdf.js/PdfJsTelemetry.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "PdfjsContentUtils", +ChromeUtils.defineModuleGetter(this, "PdfjsContentUtils", "resource://pdf.js/PdfjsContentUtils.jsm"); var Svc = {}; diff --git a/extensions/firefox/content/PdfjsChromeUtils.jsm b/extensions/firefox/content/PdfjsChromeUtils.jsm index 632f715e7..b4b3a1f74 100644 --- a/extensions/firefox/content/PdfjsChromeUtils.jsm +++ b/extensions/firefox/content/PdfjsChromeUtils.jsm @@ -25,8 +25,8 @@ const Cu = Components.utils; const PREF_PREFIX = "PDFJSSCRIPT_PREF_PREFIX"; const PDF_CONTENT_TYPE = "application/pdf"; -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); var Svc = {}; XPCOMUtils.defineLazyServiceGetter(Svc, "mime", diff --git a/extensions/firefox/content/PdfjsContentUtils.jsm b/extensions/firefox/content/PdfjsContentUtils.jsm index 6ad15c901..1c39cc9d7 100644 --- a/extensions/firefox/content/PdfjsContentUtils.jsm +++ b/extensions/firefox/content/PdfjsContentUtils.jsm @@ -22,8 +22,8 @@ const Ci = Components.interfaces; const Cr = Components.results; const Cu = Components.utils; -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); var PdfjsContentUtils = { _mm: null, @@ -131,7 +131,7 @@ var PdfjsContentUtils = { if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) { let jsm = "resource://pdf.js/PdfJs.jsm"; - let pdfjs = Components.utils.import(jsm, {}).PdfJs; + let pdfjs = ChromeUtils.import(jsm, {}).PdfJs; if (aMsg.data.enabled) { pdfjs.ensureRegistered(); } else { diff --git a/extensions/firefox/content/pdfjschildbootstrap-enabled.js b/extensions/firefox/content/pdfjschildbootstrap-enabled.js index dda7a7c11..3e554ac4c 100644 --- a/extensions/firefox/content/pdfjschildbootstrap-enabled.js +++ b/extensions/firefox/content/pdfjschildbootstrap-enabled.js @@ -21,8 +21,8 @@ * running remote. It will only be run when PdfJs.enable is true. */ -Components.utils.import("resource://gre/modules/Services.jsm"); -Components.utils.import("resource://pdf.js/PdfJs.jsm"); +ChromeUtils.import("resource://gre/modules/Services.jsm"); +ChromeUtils.import("resource://pdf.js/PdfJs.jsm"); if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) { // register various pdfjs factories that hook us into content loading. diff --git a/extensions/firefox/content/pdfjschildbootstrap.js b/extensions/firefox/content/pdfjschildbootstrap.js index 1d30acdd1..dce514831 100644 --- a/extensions/firefox/content/pdfjschildbootstrap.js +++ b/extensions/firefox/content/pdfjschildbootstrap.js @@ -20,7 +20,7 @@ * initializing our built-in version of pdfjs when running remote. */ -Components.utils.import("resource://pdf.js/PdfjsContentUtils.jsm"); +ChromeUtils.import("resource://pdf.js/PdfjsContentUtils.jsm"); // init content utils shim pdfjs will use to access privileged apis. PdfjsContentUtils.init(); From 986c8b56ca14b76a916af8f3436c495c0961808f Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 4 Feb 2018 13:44:04 +0100 Subject: [PATCH 4/4] Update the `eslint-plugin-mozilla` package to the latest version With the updated compatibility for the addon, we can thus remove a few no longer needed exceptions from `extensions/firefox/.eslintrc`. --- extensions/firefox/.eslintrc | 14 -------------- extensions/firefox/content/PdfJsNetwork.jsm | 2 +- extensions/firefox/content/PdfStreamConverter.jsm | 1 - package.json | 2 +- 4 files changed, 2 insertions(+), 17 deletions(-) diff --git a/extensions/firefox/.eslintrc b/extensions/firefox/.eslintrc index 87d9db7b7..ac538caa5 100644 --- a/extensions/firefox/.eslintrc +++ b/extensions/firefox/.eslintrc @@ -7,17 +7,6 @@ ], "parserOptions": { - // Note: Remove the ecmaVersion line when Gecko 52 is no longer supported - // to pick up the eslint-plugin-mozilla version (or at least update to - // ecmaVersion 8). - "ecmaVersion": 6, - "ecmaFeatures": { - // Note: We turn this off as it was only added in Gecko 55 (Bug 1339395) - // and we still need to support older versions (eslint-plugin-mozilla turns - // it on). - "experimentalObjectRestSpread": false - }, - "sourceType": "script", }, @@ -28,9 +17,6 @@ "rules": { // Items different from the mozilla/recommended configuration. - // Being enabled soon. - "mozilla/use-services": "error", - // Other rules mozilla/recommended hasn't enabled yet. "no-shadow": "error", "arrow-body-style": ["error", "as-needed"], diff --git a/extensions/firefox/content/PdfJsNetwork.jsm b/extensions/firefox/content/PdfJsNetwork.jsm index ac3d30194..64523aeb1 100644 --- a/extensions/firefox/content/PdfJsNetwork.jsm +++ b/extensions/firefox/content/PdfJsNetwork.jsm @@ -19,7 +19,7 @@ ChromeUtils.import("resource://gre/modules/Services.jsm"); var EXPORTED_SYMBOLS = ["NetworkManager"]; -function log(aMsg) { +function log(aMsg) { // eslint-disable-line no-unused-vars var msg = "PdfJsNetwork.jsm: " + (aMsg.join ? aMsg.join("") : aMsg); Services.console.logStringMessage(msg); } diff --git a/extensions/firefox/content/PdfStreamConverter.jsm b/extensions/firefox/content/PdfStreamConverter.jsm index d6402baae..84e7c289f 100644 --- a/extensions/firefox/content/PdfStreamConverter.jsm +++ b/extensions/firefox/content/PdfStreamConverter.jsm @@ -23,7 +23,6 @@ const Cr = Components.results; const Cu = Components.utils; const PDFJS_EVENT_ID = "pdf.js.message"; -const PDF_CONTENT_TYPE = "application/pdf"; const PREF_PREFIX = "PDFJSSCRIPT_PREF_PREFIX"; const PDF_VIEWER_WEB_PAGE = "resource://pdf.js/web/viewer.html"; const MAX_NUMBER_OF_PREFS = 50; diff --git a/package.json b/package.json index 69ed0bdcf..f808c4a57 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "core-js": "^2.5.3", "escodegen": "^1.9.0", "eslint": "^4.16.0", - "eslint-plugin-mozilla": "^0.5.0", + "eslint-plugin-mozilla": "^0.7.0", "eslint-plugin-no-unsanitized": "^2.0.2", "fancy-log": "^1.3.2", "gulp": "^3.9.1",