After bug 620931, $gre/defaults/pref/*.js files are supposed to only be loaded when the application directory and the GRE directory are the same. That was the intent, but the code actually doesn't do that because of the semantics change that happened late in bug 620931. What the code currently does is that it will load $gre/defaults/pref/*.js unless there's an the application directory and the GRE directory are different and the application uses an omni.jar.
This means it works in all cases for plain Firefox but doesn't with xulrunner when the app is omnijar'ed. But xulrunner has its own prefs in $gre/defaults/pref/*.js, most notably when xulrunner itself is not omnijar'ed (like, when running it from the dist/bin directory).
This means we actually have a need to unconditionally load these prefs instead of skipping in some cases.
Created attachment 547346 [details] [diff] [review]
Always load $gre/defaults/pref prefs
Created attachment 547347 [details] [diff] [review]
Same patch, as diff -w