[Pkg-javascript-commits] [pdf.js] 91/204: Fixes names collisions in content.js

David Prévot taffit at moszumanska.debian.org
Sat Oct 25 18:50:36 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit dd48d1c3520506ad2d9a7cff26839a1eb094b952
Author: Yury Delendik <ydelendik at mozilla.com>
Date:   Fri Sep 19 13:58:12 2014 -0500

    Fixes names collisions in content.js
---
 extensions/firefox/chrome/content.js | 133 ++++++++++++++++++-----------------
 1 file changed, 69 insertions(+), 64 deletions(-)

diff --git a/extensions/firefox/chrome/content.js b/extensions/firefox/chrome/content.js
index 982aa7d..e52938a 100644
--- a/extensions/firefox/chrome/content.js
+++ b/extensions/firefox/chrome/content.js
@@ -20,79 +20,84 @@
 
 'use strict';
 
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-const Cm = Components.manager;
-const Cu = Components.utils;
-const Cr = Components.results;
+(function contentScriptClosure() {
+  // we need to use closure here -- we are running in the global context
 
-Cu.import('resource://gre/modules/XPCOMUtils.jsm');
-Cu.import('resource://gre/modules/Services.jsm');
+  const Cc = Components.classes;
+  const Ci = Components.interfaces;
+  const Cm = Components.manager;
+  const Cu = Components.utils;
+  const Cr = Components.results;
 
-var isRemote = Services.appinfo.processType ===
-               Services.appinfo.PROCESS_TYPE_CONTENT;
+  Cu.import('resource://gre/modules/XPCOMUtils.jsm');
+  Cu.import('resource://gre/modules/Services.jsm');
 
-// Factory that registers/unregisters a constructor as a component.
-function Factory() {}
-
-Factory.prototype = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIFactory]),
-  _targetConstructor: null,
-
-  register: function register(targetConstructor) {
-    this._targetConstructor = targetConstructor;
-    var proto = targetConstructor.prototype;
-    var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
-    registrar.registerFactory(proto.classID, proto.classDescription,
-      proto.contractID, this);
-  },
-
-  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);
-  },
+  var isRemote = Services.appinfo.processType ===
+    Services.appinfo.PROCESS_TYPE_CONTENT;
 
-  // nsIFactory
-  lockFactory: function lockFactory(lock) {
-    // No longer used as of gecko 1.7.
-    throw Cr.NS_ERROR_NOT_IMPLEMENTED;
+// Factory that registers/unregisters a constructor as a component.
+  function Factory() {
   }
-};
 
-var pdfStreamConverterFactory = new Factory();
+  Factory.prototype = {
+    QueryInterface: XPCOMUtils.generateQI([Ci.nsIFactory]),
+    _targetConstructor: null,
+
+    register: function register(targetConstructor) {
+      this._targetConstructor = targetConstructor;
+      var proto = targetConstructor.prototype;
+      var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
+      registrar.registerFactory(proto.classID, proto.classDescription,
+        proto.contractID, this);
+    },
+
+    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;
+    }
+  };
+
+  var pdfStreamConverterFactory = new Factory();
 
-function startup() {
-  Cu.import('resource://pdf.js/PdfjsContentUtils.jsm');
-  PdfjsContentUtils.init();
+  function startup() {
+    Cu.import('resource://pdf.js/PdfjsContentUtils.jsm');
+    PdfjsContentUtils.init();
 
-  Cu.import('resource://pdf.js/PdfStreamConverter.jsm');
-  pdfStreamConverterFactory.register(PdfStreamConverter);
-}
+    Cu.import('resource://pdf.js/PdfStreamConverter.jsm');
+    pdfStreamConverterFactory.register(PdfStreamConverter);
+  }
 
-function shutdown() {
-  // Remove the contract/component.
-  pdfStreamConverterFactory.unregister();
-  // Unload the converter
-  Cu.unload('resource://pdf.js/PdfStreamConverter.jsm');
+  function shutdown() {
+    // Remove the contract/component.
+    pdfStreamConverterFactory.unregister();
+    // Unload the converter
+    Cu.unload('resource://pdf.js/PdfStreamConverter.jsm');
 
-  PdfjsContentUtils.uninit();
-  Cu.unload('resource://pdf.js/PdfjsContentUtils.jsm');
-}
+    PdfjsContentUtils.uninit();
+    Cu.unload('resource://pdf.js/PdfjsContentUtils.jsm');
+  }
 
-if (isRemote) {
-  startup();
+  if (isRemote) {
+    startup();
 
-  addMessageListener('PDFJS:Child:shutdown', function (e) {
-    shutdown();
-  });
-}
+    addMessageListener('PDFJS:Child:shutdown', function (e) {
+      shutdown();
+    });
+  }
+})();

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list