This past week I’ve written a couple of patches to make embedding Mozilla easier/better:
- Bug 321359 – Give embedders the ability to lock and select profiles
- Bug 299988 – Integrate gtkmozembed with libxul
This second patch caused some concern: I made gtkmozembed use the new toolkit profile-management APIs (gtkmozembed will no longer build with seamonkey). This is not a problem of itself, since Mozilla has already made a commitment that libxul will be the ongoing embedding framework.
The more difficult problem is that the toolkit (xulrunner) currently doesn’t support a lot of the “small-device” build options such as --disable-xul. We definitely want to continue to support small device embedding situations, while avoiding the costs of supporting an exponential combination of little build options that may have complex interactions. This provoked a spirited discussion among email@example.com about what options are valuable to support and who should bear the support burden of these options. The provisional outcome of this discussion is as follows: Mozilla is interested in maintaining a couple of “small device profiles”, in cooperation with small-device embedders (cell phone manufacturers and others). I have written up a wiki document with a preliminary proposal describing three profiles. I would like to get input from small-device embedders about what features they actually need, and to what extent they are able to help in the maintenance and documentation of these small-device profiles.
This proposal results in a slightly illogical situation of a small-device “XULRunner” build that doesn’t actually support XUL (it would be an embedding solution). In this sense what you are building is really more “GeckoRunner”; but there’s no need to get caught up in naming…
I’d also like to reiterate that this support is explicitly for small devices that can’t handle the full XULRunner footprint. It doesn’t make sense to have a small-device profile of XULRunner installed on a PC; it is important to support a full-featured web if there are sufficient system resources available.