r=sspitzer
I made changes so that:
1) exit quits the app, and doesn't start up app with the last current profile
2) fix a spelling error (personalisation -> personalization), this is en-US, not en-UK
3) fix it so start actually starts the selected profile.
4) -SelectProfile launches this new dialog
5) if the user starts with no command line, and they have more than one profile, they get -SelectProfile, and not -installer.
reviewed by Ben Goodger <rgoodger@ihug.co.nz> and Seth Spitzer <sspitzer@netscape.com>
Scripts running from chrome are considered super privileged and can perform operations that
scripts from the web cannot. I differentiate chrome scripts from web
scripts by considering all scripts loaded from chrome: URIs to be
privileged.
The problem I'm running into is that the loading of relative urls in
this code ends up going to the file: protocol (which is what the chrome
protocol is converted to internally). This change makes sure we load
from the chrome protocol so that the scripts are privileged and don't
get access errors. It's probably a good idea to load from the chrome
protocol anyway since it may one day be resolved to extracting from a
JAR file rather than accessing a discrete file.
make profileExists() part of the nsIProfile interface, so I can
get at it from JS. startCommunicator is now startApprunner.
get RenameProfile() and DeleteProfile() to work better.
make the delete profile dialog size to content.
change the 2nd arg of DeleteProfile() to be a bool, and not a string.
use MakeUnique() to prevent undesired collisions of profiles on disk.
fix some bugs with next, back, and cancel in the profile manager.
(#15223, #15271)
re-write all callers of nsProfile::GetCurrentProfileDir() to use the file locator.
(#15063)
more profile code clean up. (#15042)
rename the old 4.x history.dat file. it's called history.dat in 5.0, but the file
formats are different. (binary in 4.x, vs mork in 5.0)