Releases/FeatureXULRunnerAPIChanges

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

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  and   for details.

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); gtk_moz_embed_set_comp_path(GECKO_LIB_ROOT);
 * 1) else
 * 1) 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