From Fedora Project Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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