diff --git a/content/treestyletab/res/extensions.js b/content/treestyletab/res/extensions.js index 535d827f..d38c7f20 100644 --- a/content/treestyletab/res/extensions.js +++ b/content/treestyletab/res/extensions.js @@ -9,13 +9,13 @@ // window['piro.sakura.ne.jp'].extensions.isEnabled('my.extension.id@example.com')) // window['piro.sakura.ne.jp'].extensions.goToOptions('my.extension.id@example.com'); - lisence: The MIT License, Copyright (c) 2009-2010 SHIMODA "Piro" Hiroshi + lisence: The MIT License, Copyright (c) 2009 SHIMODA "Piro" Hiroshi http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/license.txt original: http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/extensions.js */ (function() { - const currentRevision = 3; + const currentRevision = 2; if (!('piro.sakura.ne.jp' in window)) window['piro.sakura.ne.jp'] = {}; @@ -26,35 +26,11 @@ return; } - // Firefox 3.7 or later - var AM = {}; - if ('@mozilla.org/addons/integration;1' in Components.classes) - Components.utils.import('resource://gre/modules/AddonManager.jsm', AM); - window['piro.sakura.ne.jp'].extensions = { revision : currentRevision, - // Firefox 3.7 or later - getInstalledAddon : function(aId) - { - var addon; - AM.AddonManager.getAddonByID(aId, function(aAddon) { - addon = aAddon; - }); - var thread = Components.classes['@mozilla.org/thread-manager;1'] - .getService() - .mainThread; - while (addon === void(0)) { - thread.processNextEvent(true); - } - return addon; - }, - - // Firefox 3.6 or older - ExtensionManager : ('@mozilla.org/extensions/manager;1' in Components.classes) ? - Components.classes['@mozilla.org/extensions/manager;1'] - .getService(Components.interfaces.nsIExtensionManager) : - null, + ExtensionManager : Components.classes['@mozilla.org/extensions/manager;1'] + .getService(Components.interfaces.nsIExtensionManager), RDF : Components.classes['@mozilla.org/rdf/rdf-service;1'] .getService(Components.interfaces.nsIRDFService), WindowMediator : Components.classes['@mozilla.org/appshell/window-mediator;1'] @@ -63,38 +39,16 @@ .getService(Components.interfaces.nsIPrefBranch), isAvailable : function(aId) - { - return this.ExtensionManager ? this.isAvailable_EM(aId) : this.isAvailable_AM(aId) ; - }, - isAvailable_EM : function(aId) { return this.isInstalled(aId) && this.isEnabled(aId); }, - isAvailable_AM : function(aId) - { - var addon = this.getInstalledAddon(aId); - if (!addon) return false; - return addon.isActive; - }, isInstalled : function(aId) - { - return this.ExtensionManager ? this.isInstalled_EM(aId) : this.isInstalled_AM(aId) ; - }, - isInstalled_EM : function(aId) { return this.ExtensionManager.getInstallLocation(aId); }, - isInstalled_AM : function(aId) - { - return this.getInstalledAddon(aId); - }, isEnabled : function(aId) - { - return this.ExtensionManager ? this.isEnabled_EM(aId) : this.isEnabled_AM(aId) ; - }, - isEnabled_EM : function(aId) { var res = this.RDF.GetResource('urn:mozilla:item:'+aId); var appDisabled = false; @@ -122,14 +76,21 @@ return !appDisabled && !userDisabled; }, - isEnabled_AM : function(aId) - { - return false; - }, goToOptions : function(aId) { - var uri = this.ExtensionManager ? this.getOptionsURI_EM(aId) : this.getOptionsURI_AM(aId) ; + var res = this.RDF.GetResource('urn:mozilla:item:'+aId); + var uri; + try { + uri = this.ExtensionManager.datasource.GetTarget( + res, + this.RDF.GetResource('http://www.mozilla.org/2004/em-rdf#optionsURL'), + true + ).QueryInterface(Components.interfaces.nsIRDFLiteral) + .Value; + } + catch(e) { + } if (!uri) return; var windows = this.WindowMediator.getEnumerator(null); @@ -152,28 +113,6 @@ '', 'chrome,titlebar,toolbar,centerscreen,' + (instantApply ? 'dialog=no' : 'modal' ) ); - }, - getOptionsURI_EM : function(aId) - { - var res = this.RDF.GetResource('urn:mozilla:item:'+aId); - var uri; - try { - uri = this.ExtensionManager.datasource.GetTarget( - res, - this.RDF.GetResource('http://www.mozilla.org/2004/em-rdf#optionsURL'), - true - ).QueryInterface(Components.interfaces.nsIRDFLiteral) - .Value; - } - catch(e) { - } - return uri; - }, - getOptionsURI_AM : function(aId) - { - var addon = this.getInstalledAddon(aId); - if (!addon || !addon.isActive) return null; - return addon.optionsURL; } }; })();