[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] [torbutton/master 04/31] Update the content window mapper to Firefox 4.
Author: Mike Perry <mikeperry-git@xxxxxxxxxx>
Date: Sun, 28 Nov 2010 19:16:16 -0800
Subject: Update the content window mapper to Firefox 4.
Commit: 485c95e48d3f811262fc2eb19e1b287a35ebce69
We may not even need this anymore. There is a new Tab manager with new APIs..
---
src/chrome.manifest | 3 ++
src/components/window-mapper.js | 70 ++++++--------------------------------
2 files changed, 14 insertions(+), 59 deletions(-)
diff --git a/src/chrome.manifest b/src/chrome.manifest
index 2736329..cbcf30a 100644
--- a/src/chrome.manifest
+++ b/src/chrome.manifest
@@ -70,6 +70,9 @@ contract @torproject.org/cssblocker;1 {23f4d9ba-023a-94ab-eb75-67aed7562a18}
component {f36d72c9-9718-4134-b550-e109638331d7} components/torbutton-logger.js
contract @torproject.org/torbutton-logger;1 {f36d72c9-9718-4134-b550-e109638331d7}
+component {b985e49c-12cb-4f29-9d14-b62603332ec4} components/window-mapper.js
+contract @torproject.org/content-window-mapper;1 {b985e49c-12cb-4f29-9d14-b62603332ec4}
+
category content-policy ContentPolicy @torproject.org/cssblocker;1
category profile-after-change CookieJarSelector @torproject.org/cookie-jar-selector;1
diff --git a/src/components/window-mapper.js b/src/components/window-mapper.js
index 58e503a..4724ae5 100644
--- a/src/components/window-mapper.js
+++ b/src/components/window-mapper.js
@@ -49,7 +49,9 @@ ContentWindowMapper.prototype =
flags: nsIClassInfo.DOM_OBJECT,
// method of nsIClassInfo
- classDescription: "ContentWindowMapper",
+ classDescription: kMODULE_NAME,
+ classID: kMODULE_CID,
+ contractID: kMODULE_CONTRACTID,
// method of nsIClassInfo
getInterfaces: function(count) {
@@ -166,61 +168,11 @@ ContentWindowMapper.prototype =
}
/**
- * JS XPCOM component registration goop:
- *
- * Everything below is boring boilerplate and can probably be ignored.
- */
-
-var ContentWindowMapperInstance = null;
-var ContentWindowMapperFactory = new Object();
-
-ContentWindowMapperFactory.createInstance = function (outer, iid)
-{
- if (outer != null) {
- Components.returnCode = Cr.NS_ERROR_NO_AGGREGATION;
- return null;
- }
- if (!iid.equals(nsIClassInfo) &&
- !iid.equals(nsISupports)) {
- Components.returnCode = Cr.NS_ERROR_NO_INTERFACE;
- return null;
- }
- if(ContentWindowMapperInstance == null)
- ContentWindowMapperInstance = new ContentWindowMapper();
-
- return ContentWindowMapperInstance;
-}
-
-var ContentWindowMapperModule = new Object();
-
-ContentWindowMapperModule.registerSelf =
-function (compMgr, fileSpec, location, type)
-{
- compMgr = compMgr.QueryInterface(nsIComponentRegistrar);
- compMgr.registerFactoryLocation(kMODULE_CID,
- kMODULE_NAME,
- kMODULE_CONTRACTID,
- fileSpec,
- location,
- type);
-}
-
-ContentWindowMapperModule.getClassObject = function (compMgr, cid, iid)
-{
- if (cid.equals(kMODULE_CID))
- return ContentWindowMapperFactory;
-
-
- Components.returnCode = Cr.NS_ERROR_NOT_REGISTERED;
- return null;
-}
-
-ContentWindowMapperModule.canUnload = function (compMgr)
-{
- return true;
-}
-
-function NSGetModule(compMgr, fileSpec)
-{
- return ContentWindowMapperModule;
-}
+* XPCOMUtils.generateNSGetFactory was introduced in Mozilla 2 (Firefox 4).
+* XPCOMUtils.generateNSGetModule is for Mozilla 1.9.2 (Firefox 3.6).
+*/
+Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+if (XPCOMUtils.generateNSGetFactory)
+ var NSGetFactory = XPCOMUtils.generateNSGetFactory([ContentWindowMapper]);
+else
+ var NSGetModule = XPCOMUtils.generateNSGetModule([ContentWindowMapper]);
--
1.7.1