From Fedora Project Wiki

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