diff options
Diffstat (limited to 'bandwagon/content/scripts/util.js')
-rw-r--r-- | bandwagon/content/scripts/util.js | 143 |
1 files changed, 7 insertions, 136 deletions
diff --git a/bandwagon/content/scripts/util.js b/bandwagon/content/scripts/util.js index 58b41f8..8044f31 100644 --- a/bandwagon/content/scripts/util.js +++ b/bandwagon/content/scripts/util.js @@ -37,10 +37,6 @@ Bandwagon.Util = new function() {} -Bandwagon.Util._extensionManager = null; -Bandwagon.Util._rdfService = null; -Bandwagon.Util._extensionsDataSource == null; - Bandwagon.Util.getMainWindow = function() { return window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) @@ -243,101 +239,16 @@ Bandwagon.Util.getCookie = function(host, name) return null; } -Bandwagon.Util._initExtensionServices = function() -{ - if (Bandwagon.Util._extensionManager == null) - { - this._extensionManager = Components.classes["@mozilla.org/extensions/manager;1"] - .getService(Components.interfaces.nsIExtensionManager); - } - - if (Bandwagon.Util._rdfService == null) - { - this._rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"] - .getService(Components.interfaces.nsIRDFService); - } - - var getURLSpecFromFile = function(file) - { - var ioServ = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - var fph = ioServ.getProtocolHandler("file") - .QueryInterface(Components.interfaces.nsIFileProtocolHandler); - return fph.getURLSpecFromFile(file); - } - - var getDir = function(key, pathArray) - { - var fileLocator = Components.classes["@mozilla.org/file/directory_service;1"] - .getService(Components.interfaces.nsIProperties); - var dir = fileLocator.get(key, Components.interfaces.nsILocalFile); - for (var i=0; i<pathArray.length; ++i) - { - dir.append(pathArray[i]); - } - dir.followLinks = false; - return dir; - } - - var getFile = function(key, pathArray) - { - var file = getDir(key, pathArray.slice(0, -1)); - file.append(pathArray[pathArray.length - 1]); - return file; - } - - if (Bandwagon.Util._extensionsDataSource == null) - { - Bandwagon.Util._extensionsDataSource = this._rdfService.GetDataSourceBlocking(getURLSpecFromFile(getFile("ProfD", ["extensions.rdf"]))); - } -} - Bandwagon.Util.getInstalledExtensions = function() { - Bandwagon.Util._initExtensionServices(); + var extensionManager = Components.classes["@mozilla.org/extensions/manager;1"] + .getService(Components.interfaces.nsIExtensionManager); - var items = this._extensionManager.getItemList(Components.interfaces.nsIUpdateItem.TYPE_ANY, { }); + var items = extensionManager.getItemList(Components.interfaces.nsIUpdateItem.TYPE_ANY, { }); return items; } -Bandwagon.Util.getExtensionProperty = function(id, propertyName) -{ - Bandwagon.Util._initExtensionServices(); - - var value; - - try - { - var target = Bandwagon.Util._extensionsDataSource.GetTarget - ( - this._rdfService.GetResource("urn:mozilla:item:" + id), - this._rdfService.GetResource("http://www.mozilla.org/2004/em-rdf#" + propertyName), - true - ); - - var stringData = function(literalOrResource) - { - if (literalOrResource instanceof Components.interfaces.nsIRDFLiteral) - return literalOrResource.Value; - if (literalOrResource instanceof Components.interfaces.nsIRDFResource) - return literalOrResource.Value; - return undefined; - } - - value = stringData(target); - } - catch (e) - { - Bandwagon.Logger.error("Error getting extension property: " + e); - return ""; - } - - //Bandwagon.Logger.debug("Extension '" + id + "' has property '" + propertyName + "=" + value + "'"); - - return value === undefined ? "" : value; -} - Bandwagon.Util.ISO8601toDate = function(dString) { var x = new Date(); @@ -375,50 +286,10 @@ Bandwagon.Util.ISO8601toDate = function(dString) Bandwagon.Util.getBrowserLocale = function() { - var gmyextensionBundle = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService); - var bundle = gmyextensionBundle.createBundle("chrome://global/locale/intl.properties"); - - return bundle.GetStringFromName("general.useragent.locale"); + var prefSvc = Components.classes["@mozilla.org/preferences-service;1"]. + getService(Components.interfaces.nsIPrefService); + + return prefSvc.getCharPref("general.useragent.locale"); }; -Bandwagon.Util.encodeURL = function(str) -{ - str = encodeURIComponent(str); - - //str = str.replace(/'/g, "%27"); - - return str; -} - -Bandwagon.Util.getUserFacingOSName = function(str) -{ - if (str.match(/.*Darwin.*/i)) - { - return "Mac OS X"; - } - else if (str.match(/.*Linux.*/i)) - { - return "Linux"; - } - else if (str.match(/.*BSD.*/i)) - { - return "BSD"; - } - else if (str.match(/.*sunos.*/i)) - { - return "Solaris"; - } - else if (str.match(/.*solaris.*/i)) - { - return "Solaris"; - } - else if (str.match(/.*Win.*/i)) - { - return "Windows"; - } - else - { - return str; - } -} |