Bug 1352218, part 2 - Avoid PdfJs.enabled call. r=Yury draft
authorAndrew McCreight <continuation@gmail.com>
Thu, 30 Mar 2017 14:52:09 -0700
changeset 555066 4f6fb4740b15a96a94818f0c37db827b8f921a25
parent 555065 cdefc81affbc221f08f3074980b7eebce2d8ec84
child 622524 24c84f672987fa7132bf0aa24b3eacc7e978396b
push id52145
push userbmo:continuation@gmail.com
push dateMon, 03 Apr 2017 15:57:20 +0000
reviewersYury
bugs1352218
milestone55.0a1
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
browser/extensions/pdfjs/content/PdfJs.jsm
browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js
--- 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();
 }