This page is intended for tracking changes in mozilla API between the current one (firefox/gecko-libs 1.8) and the upcoming XUL Runner API (gecko-libs 1.9). It should help developers to port their gecko base applications to XUL Runner .
pkg-config files
XUL Runner has moved to official mozilla pkg-config files and we don't use the old xulrunner-1.8 style files anymore. So these files are provided now:
libxul (former xulrunner-xpcom.pc / firefox-xpcom.pc):
libxul.pc libxul-unstable.pc
libxul-embedding (former xulrunner-xpcom.pc / firefox-xpcom.pc for static linking):
libxul-embedding.pc libxul-embedding-unstable.pc
Mozilla Embedding Widget for Gtk+:
mozilla-gtkmozembed.pc mozilla-gtkmozembed-embedding.pc
Java Script / Plugin config:
mozilla-js.pc mozilla-plugin.pc
XUL Runner API Changes
String API
String API has been heavily changed. Internal strings are not exported now and you have to use only the frozen string interface. See [1] and [2] for details.
Printing API
gtkmozembed
gtkmozembed is initialized by different way. You have to use gtk_moz_embed_set_path() instead of the old gtk_moz_embed_set_comp_path().
There's an code example from chmsee package:
gtk_moz_embed_set_path(GECKO_LIB_ROOT); #else gtk_moz_embed_set_comp_path(GECKO_LIB_ROOT); #endif
Other changes
- NS_LogInit()/NS_LogTerm() has been added for early logging.
Unresolved problems
- nsEscape - not exported, unstable
- Drag and Drop - not exported, in unstable (but seems to compile at least)
- NSS dialogs - changed
- nsIPassword - not exported, unstable
References
- http://developer.mozilla.org/en/docs/XULRunner
- http://wiki.mozilla.org/XUL:Xul_Runner
- http://developer.mozilla.org/en/docs/Migrating_from_Internal_Linkage_to_Frozen_Linkage
- http://developer.mozilla.org/en/docs/XPCOM_Glue
- http://developer.mozilla.org/en/docs/Firefox_3_for_developers
- http://developer.mozilla.org/en/docs/Toolkit_API