Re: Making extensions available to multiple GRE applications

Sailfish <[email protected]>
Newsgroups gmane.comp.mozilla.devel.xpinstall
Organization Another Netscape Collabra Server User
Message-ID <[email protected]>
Benjamin Smedberg wrote:
> I have filed and taken several bugs having to do with extensions and the 
> GRE, and I would like to outline my plans for GRE extensions (and 
> extensions in general) so that people may comment. Please reply to 
> n.p.m.xpinstall, and not to the bugs, unless you have a patch or 
> implementation comment. The overarching bug is bug 209439.
> 
> Definitions:
> "extension" == a browser addon or utility (installed with XPInstall)
> 
> My plan has the following goals:
> 
> 1) allow extensions to be registered with a GRE, so that they can be 
> made available to multiple applications using the GRE
> 2) allow extensions to be installed into their own directories, instead 
> of being installed in the same directory as an application

Is your plan to allow them to be installed in an arbitrary directory or 
would they still need to be off a chrome root (installation/profile)?

> 3) allow extensions (which use only frozen interfaces) to work with 
> multiple versions of the GRE
> 4) allow extensions to be un-installed
> 
> Currently, extensions "piggyback" on top of an application's chrome and 
> components directories. This makes it difficult/impossible to un-install 
> extensions. Instead, it should not be difficult for extensions to 
> maintain their own chrome and components locations.
> 
> Implementation-prerequisites:
> 1) The chrome: service needs to be extended to register arbitrary chrome 
> directories (bug 210838)
> 
> Implementation:
> Each extension would have an RDF file describing itself. The GRE would 
> include an nsIExtensionManager service, which would allow applications 
> to enumerate/discover available extensions, register extensions, and 
> enable/disable extensions as necessary. The GRE would not contain any UI 
> for extensions; any UI would be managed by applications. There would 
> also be a little command-line utility with the GRE that would register 
> extensions.
> 
> Extensions would not be enabled by default; instead, after the 
> application initializes the GRE, it would need to use the 
> nsIExtensionManager to enable the extensions that it wished to use.
> 
> Although every extension could use this mechanism, extensions meant for 
> multiple applications would benefit most from this scheme. Some 
> important examples would include:
> DOM Inspector
> Venkman
> JSLib
> tranformiix
> 
> I feel that GRE extensions are necessary, in order for the new roadmap 
> to be implemented effectively.
> 
> --BDS
> 
> P.S. Can I also argue that there ought to be a second alpha before 
> 1.5beta? Not much of the current roadmap has been completed yet, and 
> we're going to freeze 1.5a on Wednesday... how about another month and 
> then 1.5a2?
> 


-- 

Netscape FAQs: http://www.ufaq.org/
Netscape 6/7 Tips: http://www.holgermetzger.de/net6e.html
Netscape 6 FAQ: http://home.adelphia.net/~sremick/ns6faq.html
Netscape 7 Help/Tips: http://techaholic.net/ns7.html
Web page validation: http://validator.w3.org
About Mozilla: http://www.mozilla.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.