From b8f7bcaf0232092dd4e6c687850edf2245c7743d Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Thu, 27 Feb 2014 14:11:39 -0800 Subject: [PATCH] Use only one resource url for moz central build. --- extensions/firefox/bootstrap.js | 4 +-- extensions/firefox/chrome-mozcentral.manifest | 1 - extensions/firefox/content/PdfJs.jsm | 36 ++++++------------- .../PdfRedirector.jsm} | 2 -- .../PdfStreamConverter.jsm} | 2 -- make.js | 22 +++++++----- 6 files changed, 27 insertions(+), 40 deletions(-) rename extensions/firefox/{components/PdfRedirector.js => content/PdfRedirector.jsm} (98%) rename extensions/firefox/{components/PdfStreamConverter.js => content/PdfStreamConverter.jsm} (99%) diff --git a/extensions/firefox/bootstrap.js b/extensions/firefox/bootstrap.js index 1b8bcef48..4b1fb0c23 100644 --- a/extensions/firefox/bootstrap.js +++ b/extensions/firefox/bootstrap.js @@ -111,13 +111,13 @@ function startup(aData, aReason) { // Load the component and register it. pdfStreamConverterUrl = aData.resourceURI.spec + - 'components/PdfStreamConverter.js'; + 'content/PdfStreamConverter.jsm'; Cu.import(pdfStreamConverterUrl); pdfStreamConverterFactory.register(PdfStreamConverter); if (registerOverlayPreview) { pdfRedirectorUrl = aData.resourceURI.spec + - 'components/PdfRedirector.js'; + 'content/PdfRedirector.jsm'; Cu.import(pdfRedirectorUrl); pdfRedirectorFactory.register(PdfRedirector); diff --git a/extensions/firefox/chrome-mozcentral.manifest b/extensions/firefox/chrome-mozcentral.manifest index 1c7abc845..1aef83abc 100644 --- a/extensions/firefox/chrome-mozcentral.manifest +++ b/extensions/firefox/chrome-mozcentral.manifest @@ -1,2 +1 @@ resource pdf.js content/ -resource pdf.js.components components/ diff --git a/extensions/firefox/content/PdfJs.jsm b/extensions/firefox/content/PdfJs.jsm index 079e3a39e..89800546b 100644 --- a/extensions/firefox/content/PdfJs.jsm +++ b/extensions/firefox/content/PdfJs.jsm @@ -34,8 +34,8 @@ const PDF_CONTENT_TYPE = 'application/pdf'; Cu.import('resource://gre/modules/XPCOMUtils.jsm'); Cu.import('resource://gre/modules/Services.jsm'); -Cu.import('resource://pdf.js.components/PdfStreamConverter.js'); -Cu.import('resource://pdf.js.components/PdfRedirector.js'); +Cu.import('resource://pdf.js/PdfStreamConverter.jsm'); +Cu.import('resource://pdf.js/PdfRedirector.jsm'); let Svc = {}; XPCOMUtils.defineLazyServiceGetter(Svc, 'mime', @@ -61,39 +61,25 @@ function getIntPref(aPref, aDefaultValue) { } } -// Factory that registers/unregisters a constructor as a component. +// Register/unregister a constructor as a factory. function Factory() {} - Factory.prototype = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIFactory]), - _targetConstructor: null, - register: function register(targetConstructor) { - this._targetConstructor = targetConstructor; var proto = targetConstructor.prototype; + this._classID = proto.classID; + + var factory = XPCOMUtils._getFactory(targetConstructor); + this._factory = factory; + var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); registrar.registerFactory(proto.classID, proto.classDescription, - proto.contractID, this); + proto.contractID, factory); }, unregister: function unregister() { - var proto = this._targetConstructor.prototype; var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - registrar.unregisterFactory(proto.classID, this); - this._targetConstructor = null; - }, - - // nsIFactory - createInstance: function createInstance(aOuter, iid) { - if (aOuter !== null) - throw Cr.NS_ERROR_NO_AGGREGATION; - return (new (this._targetConstructor)).QueryInterface(iid); - }, - - // nsIFactory - lockFactory: function lockFactory(lock) { - // No longer used as of gecko 1.7. - throw Cr.NS_ERROR_NOT_IMPLEMENTED; + registrar.unregisterFactory(this._classID, this._factory); + this._factory = null; } }; diff --git a/extensions/firefox/components/PdfRedirector.js b/extensions/firefox/content/PdfRedirector.jsm similarity index 98% rename from extensions/firefox/components/PdfRedirector.js rename to extensions/firefox/content/PdfRedirector.jsm index 4a08ec2eb..6cbeee864 100644 --- a/extensions/firefox/components/PdfRedirector.js +++ b/extensions/firefox/content/PdfRedirector.jsm @@ -131,5 +131,3 @@ PdfRedirector.prototype = { // Do nothing } }; - -var NSGetFactory = XPCOMUtils.generateNSGetFactory([PdfRedirector]); diff --git a/extensions/firefox/components/PdfStreamConverter.js b/extensions/firefox/content/PdfStreamConverter.jsm similarity index 99% rename from extensions/firefox/components/PdfStreamConverter.js rename to extensions/firefox/content/PdfStreamConverter.jsm index 5b0854353..7230b4e12 100644 --- a/extensions/firefox/components/PdfStreamConverter.js +++ b/extensions/firefox/content/PdfStreamConverter.jsm @@ -959,5 +959,3 @@ PdfStreamConverter.prototype = { delete this.binaryStream; } }; - -var NSGetFactory = XPCOMUtils.generateNSGetFactory([PdfStreamConverter]); diff --git a/make.js b/make.js index a9a4c63cc..072c4d50c 100644 --- a/make.js +++ b/make.js @@ -448,7 +448,6 @@ target.firefox = function() { '*.svg', '*.png', '*.manifest', - 'components', 'locale', '../../LICENSE'], FIREFOX_EXTENSION_FILES = @@ -457,7 +456,6 @@ target.firefox = function() { 'chrome.manifest', 'icon.png', 'icon64.png', - 'components', 'content', 'locale', 'LICENSE'], @@ -480,6 +478,12 @@ target.firefox = function() { cp(FIREFOX_CONTENT_DIR + 'PdfJsTelemetry-addon.jsm', FIREFOX_BUILD_CONTENT_DIR + 'PdfJsTelemetry.jsm'); + cp(FIREFOX_CONTENT_DIR + 'PdfStreamConverter.jsm', + FIREFOX_BUILD_CONTENT_DIR); + + cp(FIREFOX_CONTENT_DIR + 'PdfRedirector.jsm', + FIREFOX_BUILD_CONTENT_DIR); + // Copy extension files cd(FIREFOX_EXTENSION_DIR); cp('-R', FIREFOX_EXTENSION_FILES_TO_COPY, ROOT_DIR + FIREFOX_BUILD_DIR); @@ -520,11 +524,11 @@ target.firefox = function() { FIREFOX_BUILD_DIR + '/update.rdf'); sed('-i', /PDFJSSCRIPT_STREAM_CONVERTER_ID/, FIREFOX_STREAM_CONVERTER_ID, - FIREFOX_BUILD_DIR + 'components/PdfStreamConverter.js'); + FIREFOX_BUILD_CONTENT_DIR + 'PdfStreamConverter.jsm'); sed('-i', /PDFJSSCRIPT_PREF_PREFIX/, FIREFOX_PREF_PREFIX, - FIREFOX_BUILD_DIR + 'components/PdfStreamConverter.js'); + FIREFOX_BUILD_CONTENT_DIR + 'PdfStreamConverter.jsm'); sed('-i', /PDFJSSCRIPT_MOZ_CENTRAL/, 'false', - FIREFOX_BUILD_DIR + 'components/PdfStreamConverter.js'); + FIREFOX_BUILD_CONTENT_DIR + 'PdfStreamConverter.jsm'); // Update localized metadata var localizedMetadata = cat(EXTENSION_SRC_DIR + '/firefox/metadata.inc'); @@ -591,6 +595,8 @@ target.mozcentral = function() { cp(FIREFOX_CONTENT_DIR + 'PdfJs.jsm', MOZCENTRAL_CONTENT_DIR); cp(FIREFOX_CONTENT_DIR + 'PdfJsTelemetry.jsm', MOZCENTRAL_CONTENT_DIR); + cp(FIREFOX_CONTENT_DIR + 'PdfStreamConverter.jsm', MOZCENTRAL_CONTENT_DIR); + cp(FIREFOX_CONTENT_DIR + 'PdfRedirector.jsm', MOZCENTRAL_CONTENT_DIR); // Copy extension files cd('extensions/firefox'); @@ -645,11 +651,11 @@ target.mozcentral = function() { MOZCENTRAL_EXTENSION_DIR + 'README.mozilla'); sed('-i', /PDFJSSCRIPT_STREAM_CONVERTER_ID/, MOZCENTRAL_STREAM_CONVERTER_ID, - MOZCENTRAL_EXTENSION_DIR + 'components/PdfStreamConverter.js'); + MOZCENTRAL_CONTENT_DIR + 'PdfStreamConverter.jsm'); sed('-i', /PDFJSSCRIPT_PREF_PREFIX/, MOZCENTRAL_PREF_PREFIX, - MOZCENTRAL_EXTENSION_DIR + 'components/PdfStreamConverter.js'); + MOZCENTRAL_CONTENT_DIR + 'PdfStreamConverter.jsm'); sed('-i', /PDFJSSCRIPT_MOZ_CENTRAL/, 'true', - MOZCENTRAL_EXTENSION_DIR + 'components/PdfStreamConverter.js'); + MOZCENTRAL_CONTENT_DIR + 'PdfStreamConverter.jsm'); // Copy test files mkdir('-p', MOZCENTRAL_TEST_DIR);