You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.7 KiB
84 lines
2.7 KiB
// Autoconf
|
|
|
|
|
|
|
|
if(getenv("USER") != "") {
|
|
var user = getenv("USER");
|
|
} else {
|
|
var env_user = getenv("USERNAME");
|
|
}
|
|
|
|
{% if firefox_config_append_domain is defined and firefox_config_append_domain != '' %}
|
|
var mail = env_user + '@{{ firefox_config_append_domain }}';
|
|
{% else %}
|
|
var mail = env_user;
|
|
{% endif %}
|
|
|
|
lockPref("mail.identity.useremail", mail);
|
|
lockPref("autoadmin.append_emailaddr", true);
|
|
lockPref("autoadmin.global_config_url", "{{ firefox_config_url }}");
|
|
lockPref("autoadmin.failover_to_cached", true);
|
|
lockPref("autoadmin.offline_failover", true);
|
|
|
|
// Javascript to enable the distribution/bundles directory
|
|
|
|
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
|
|
|
|
var gBundlePrefFiles = [];
|
|
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
|
|
|
function loadBundleDirs() {
|
|
var distributionBundleDir = Services.dirsvc.get("GreD", Ci.nsIFile);
|
|
distributionBundleDir.append("distribution");
|
|
distributionBundleDir.append("bundles");
|
|
if (!distributionBundleDir.exists() || !distributionBundleDir.isDirectory()) {
|
|
return;
|
|
}
|
|
|
|
var enumerator = distributionBundleDir.directoryEntries;
|
|
while (enumerator.hasMoreElements()) {
|
|
var file = enumerator.getNext().QueryInterface(Ci.nsIFile);
|
|
var dirName = file.leafName;
|
|
|
|
file.append("chrome.manifest");
|
|
Components.manager.QueryInterface(Ci.nsIComponentRegistrar).autoRegister(file);
|
|
file.leafName = "defaults";
|
|
file.append("preferences");
|
|
if (!file.exists() || !file.isDirectory()) {
|
|
continue;
|
|
}
|
|
var resource = Services.io.getProtocolHandler("resource")
|
|
.QueryInterface(Components.interfaces.nsIResProtocolHandler);
|
|
|
|
// We can't use a file URL to load prefs.
|
|
// Create a resource URL that maps to the prefs directory.
|
|
var prefAlias = Services.io.newFileURI(file);
|
|
resource.setSubstitution(dirName + "_prefs", prefAlias);
|
|
var prefEnumerator = file.directoryEntries;
|
|
while (prefEnumerator.hasMoreElements()) {
|
|
var prefFile = prefEnumerator.getNext().QueryInterface(Ci.nsIFile);
|
|
gBundlePrefFiles.push("resource://" + dirName + "_prefs/" + prefFile.leafName);
|
|
}
|
|
}
|
|
}
|
|
|
|
var loadPrefObserver = {
|
|
observe: function observe(subject, topic, data) {
|
|
if (gBundlePrefFiles.length > 0) {
|
|
// Create a temporary scope so the pref function works
|
|
var temp = {};
|
|
temp.pref = function(a, b) {
|
|
defaultPref(a, b);
|
|
}
|
|
gBundlePrefFiles.forEach(function(prefFile) {
|
|
Services.scriptloader.loadSubScript(prefFile, temp);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
Services.obs.addObserver(loadPrefObserver, "load-extension-defaults", false);
|
|
|
|
try {
|
|
loadBundleDirs();
|
|
} catch(e) {}
|
|
|