Bug 1351690, part 2 - Specialize Factory into StreamConverterFactory. r=bdahl draft
authorAndrew McCreight <continuation@gmail.com>
Tue, 22 May 2018 15:28:45 -0700
changeset 798988 9096bb96ec7e4f59fbc837e243d82b509d5d36b3
parent 798987 982adb7faee6de18899a5081fbd99ee7a3679664
child 798989 ef553acb298d8991314148e97c499ec7f24b0ad8
push id110914
push userbmo:continuation@gmail.com
push dateWed, 23 May 2018 21:27:17 +0000
reviewersbdahl
bugs1351690
milestone62.0a1
Bug 1351690, part 2 - Specialize Factory into StreamConverterFactory. r=bdahl Factory is only ever passed PdfStreamConverter, so specialize the registration method and rename the class. Also, classID2 is always non-null for PdfStreamConverter, so drop the check. MozReview-Commit-ID: Ts295QTmrm
browser/extensions/pdfjs/content/PdfJsRegistration.jsm
--- a/browser/extensions/pdfjs/content/PdfJsRegistration.jsm
+++ b/browser/extensions/pdfjs/content/PdfJsRegistration.jsm
@@ -18,23 +18,24 @@
 var EXPORTED_SYMBOLS = ["PdfJsRegistration"];
 
 const Cm = Components.manager;
 
 ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 
 // Register/unregister a constructor as a factory.
-function Factory() {}
-Factory.prototype = {
-  register: function register(targetConstructor) {
-    var proto = targetConstructor.prototype;
+function StreamConverterFactory() {}
+StreamConverterFactory.prototype = {
+  register: function register() {
+    ChromeUtils.import("resource://pdf.js/PdfStreamConverter.jsm");
+    var proto = PdfStreamConverter.prototype;
     this._classID = proto.classID;
 
-    var factory = XPCOMUtils._getFactory(targetConstructor);
+    var factory = XPCOMUtils._getFactory(PdfStreamConverter);
     this._factory = factory;
 
     var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
     registrar.registerFactory(proto.classID, proto.classDescription,
                               proto.contractID, factory);
 
     if (proto.classID2) {
       this._classID2 = proto.classID2;
@@ -55,19 +56,18 @@ Factory.prototype = {
 
 var PdfJsRegistration = {
   _registered: false,
 
   ensureRegistered: function ensureRegistered() {
     if (this._registered) {
       return;
     }
-    this._pdfStreamConverterFactory = new Factory();
-    ChromeUtils.import("resource://pdf.js/PdfStreamConverter.jsm");
-    this._pdfStreamConverterFactory.register(PdfStreamConverter);
+    this._pdfStreamConverterFactory = new StreamConverterFactory();
+    this._pdfStreamConverterFactory.register();
 
     this._registered = true;
   },
 
   ensureUnregistered: function ensureUnregistered() {
     if (!this._registered) {
       return;
     }