gecko/toolkit/content/UpdateChannel.jsm
Gavin Sharp 543b9fc6d0 Bug 819827: make fallback value for UpdateChannel.get() match the build's original update channel, r=rstrong
--HG--
extra : rebase_source : 4038fd15a7a58da36612176ff8aba7d192dd74a7
2012-12-11 16:45:33 -08:00

43 lines
1.2 KiB
JavaScript

#filter substitution
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
this.EXPORTED_SYMBOLS = ["UpdateChannel"];
const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
this.UpdateChannel = {
/**
* Read the update channel from defaults only. We do this to ensure that
* the channel is tightly coupled with the application and does not apply
* to other instances of the application that may use the same profile.
*/
get: function UpdateChannel_get() {
let channel = "@MOZ_UPDATE_CHANNEL@";
let defaults = Services.prefs.getDefaultBranch(null);
try {
channel = defaults.getCharPref("app.update.channel");
} catch (e) {
// use default value when pref not found
}
try {
let partners = Services.prefs.getChildList("app.partner.").sort();
if (partners.length) {
channel += "-cck";
partners.forEach(function (prefName) {
channel += "-" + Services.prefs.getCharPref(prefName);
});
}
} catch (e) {
Cu.reportError(e);
}
return channel;
}
};