From 4db49b6613401a336f68098656e56e1fca442895 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 4 Feb 2018 13:40:07 +0100 Subject: [PATCH] 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();