Bug 1352218, part 2 - Avoid PdfJs.enabled call. r=Yury
This avoids a sync IPC message from child to parent.
Changes entirely from:
https://github.com/mozilla/pdf.js/pull/8218
MozReview-Commit-ID: 3Egayok3DBZ
--- a/browser/extensions/pdfjs/content/PdfJs.jsm
+++ b/browser/extensions/pdfjs/content/PdfJs.jsm
@@ -185,32 +185,32 @@ var PdfJs = {
Services.obs.addObserver(this, TOPIC_PLUGINS_LIST_UPDATED, false);
Services.obs.addObserver(this, TOPIC_PLUGIN_INFO_UPDATED, false);
initializeDefaultPreferences();
},
updateRegistration: function updateRegistration() {
if (this.enabled) {
- this._ensureRegistered();
+ this.ensureRegistered();
} else {
- this._ensureUnregistered();
+ this.ensureUnregistered();
}
},
uninit: function uninit() {
if (this._initialized) {
Services.prefs.removeObserver(PREF_DISABLED, this);
Services.prefs.removeObserver(PREF_DISABLED_PLUGIN_TYPES, this);
Services.obs.removeObserver(this, TOPIC_PDFJS_HANDLER_CHANGED);
Services.obs.removeObserver(this, TOPIC_PLUGINS_LIST_UPDATED);
Services.obs.removeObserver(this, TOPIC_PLUGIN_INFO_UPDATED);
this._initialized = false;
}
- this._ensureUnregistered();
+ this.ensureUnregistered();
},
_migrate: function migrate() {
const VERSION = 2;
var currentVersion = getIntPref(PREF_MIGRATION_VERSION, 0);
if (currentVersion >= VERSION) {
return;
}
@@ -319,31 +319,30 @@ var PdfJs = {
return mimeType === PDF_CONTENT_TYPE;
});
});
// Use pdf.js if pdf plugin is not present or disabled
return !enabledPluginFound;
},
- _ensureRegistered: function _ensureRegistered() {
+ ensureRegistered: function ensureRegistered() {
if (this._registered) {
return;
}
this._pdfStreamConverterFactory = new Factory();
Cu.import("resource://pdf.js/PdfStreamConverter.jsm");
this._pdfStreamConverterFactory.register(PdfStreamConverter);
this._registered = true;
},
- _ensureUnregistered: function _ensureUnregistered() {
+ ensureUnregistered: function ensureUnregistered() {
if (!this._registered) {
return;
}
this._pdfStreamConverterFactory.unregister();
Cu.unload("resource://pdf.js/PdfStreamConverter.jsm");
delete this._pdfStreamConverterFactory;
this._registered = false;
}
};
-
--- a/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js
+++ b/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js
@@ -22,10 +22,10 @@
* 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");
if (Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_CONTENT) {
// register various pdfjs factories that hook us into content loading.
- PdfJs.updateRegistration();
+ PdfJs.ensureRegistered();
}