In order for embedding apps to work, they must be able to create nsIFile instances before XPCOM is inited. This is because NS_InitXPCOM takes an nsIFile. This looks like it works now, but I'm filing a bug to make sure it keeps working.
lxr identifier search doesn't show any .h files that include NS_NewLocalFile. This function MUST be exported so embedding apps can call NS_InitXPCOM() passing in the location of the bin directory. Stanley, this is the first hit of the nsIFile change.
it is exported via the generated nsILocalFile.h file. See: http://lxr.mozilla.org/seamonkey/source/xpcom/io/nsILocalFile.idl#73 I still have to make sure that this is exported on the mac though. I will close this bug once I confirm.
fix has been in. confirmed by smfr.