Hey all,

I'm working on releasing our internal Firefox bindings as a public project.  
You can see the beginnings of it here:

http://code.google.com/p/gwt-firefox-extension/source/browse/#svn/trunk

There's a bit of work I need to do to clean it up and turn it into something 
usable by outsiders, but I need some helping thinking through the best way to 
re-architect how we package/consume the associated data from the XPI.

The biggest looming task is to remove some of the heavy Ant dependencies that 
we're using to compile the XPI.  My first idea is to reuse the wardir 
functionality, but lay it out the same way an extension would look internally. 
This layout would be bootstrapped via shell-script, like the current GWT's 
projectCreator.  When a user loads dev mode with the extension module 
available, an XPI would be generated underneath the war/modulename/ directory 
which could be loaded into Firefox to run the extension in hosted mode. The 
hosted-mode XPI would use the local server to load its CSS and image resources 
so that users can restart FF to pick up changes without redeploying. 

In production mode, a compressed and optimized XPI would be generated 
underneath the www/ folder that could be deployed by users as needed.

For this first release, I'm thinking of GWT modules as headless scriptable 
components that start up at Firefox load time and hook into the various browser 
components to do what they need to do. To deal with UI from the scriptable 
component, you can either modify the DOM from script, or use the XulRunner 
overlay system with hooks to call back into your GWT code.

One interesting issue with building extensions in GWT is that all ImageBundles 
on the source path will currently emit their resources, even if the bundle is 
later pruned.  While extra image resources aren't really a big issue on the 
web, they add pretty significant overhead to the size of the final XPI.  In 
fact, we were pulling in nearly 100kB of extra resources before we re-worked 
our source paths.

I hope to have something out later this week that will actually produce 
compilable code. Feedback welcome (and would be appreciated!).

Matt.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to