зеркало из https://github.com/mozilla/gecko-dev.git
Implement update service channels. Bug 302721, attachment 192129. Patch
by Darin Fisher <darin@meer.net>. r=benjamin@smedbergs.us
This commit is contained in:
Родитель
dd36e2ffcc
Коммит
9dd7889eb0
|
@ -93,16 +93,13 @@ pref("app.update.mode", 1);
|
|||
// If set to true, the Update Service will present no UI for any event.
|
||||
pref("app.update.silent", false);
|
||||
|
||||
// XXX these prefs and others like them are distribution specific and should move
|
||||
// into chrome://browser
|
||||
// Default service URL for testing.
|
||||
pref("app.update.url", "chrome://mozapps/locale/update/updates.properties");
|
||||
// Update service URL:
|
||||
pref("app.update.url", "https://aus2.mozilla.org/update2/1/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/update.xml");
|
||||
// URL user can browse to manually if for some reason all update installation
|
||||
// attempts fail.
|
||||
pref("app.update.url.manual", "chrome://mozapps/locale/update/updates.properties");
|
||||
// User-settable update preference that overrides app.update.url for testing
|
||||
// purposes.
|
||||
pref("app.update.url.override", "chrome://mozapps/locale/update/updates.properties");
|
||||
// attempts fail. TODO: Change this URL
|
||||
pref("app.update.url.manual", "http://www.mozilla.org/update");
|
||||
// User-settable override to app.update.url for testing purposes.
|
||||
//pref("app.update.url.override", "");
|
||||
|
||||
// Interval: Time between checks for a new version (in seconds)
|
||||
// default=1 day
|
||||
|
|
|
@ -72,14 +72,13 @@ pref("app.update.mode", 1);
|
|||
// If set to true, the Update Service will present no UI for any event.
|
||||
pref("app.update.silent", false);
|
||||
|
||||
// Default service URL for testing.
|
||||
pref("app.update.url", "chrome://mozapps/locale/update/updates.properties");
|
||||
// Update service URL:
|
||||
pref("app.update.url", "https://aus2.mozilla.org/update2/1/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/update.xml");
|
||||
// URL user can browse to manually if for some reason all update installation
|
||||
// attempts fail.
|
||||
pref("app.update.url.manual", "chrome://mozapps/locale/update/updates.properties");
|
||||
// User-settable update preference that overrides app.update.url for testing
|
||||
// purposes.
|
||||
pref("app.update.url.override", "chrome://mozapps/locale/update/updates.properties");
|
||||
// attempts fail. TODO: Change this URL
|
||||
pref("app.update.url.manual", "http://www.mozilla.org/update");
|
||||
// User-settable override to app.update.url for testing purposes.
|
||||
//pref("app.update.url.override", "");
|
||||
|
||||
// Interval: Time between checks for a new version (in seconds)
|
||||
// default=1 day
|
||||
|
|
|
@ -14,14 +14,6 @@ statusSucceededFormat=Installed on: %S
|
|||
statusFailed=Install Failed
|
||||
pauseButtonPause=Pause
|
||||
pauseButtonResume=Resume
|
||||
# The prefix /update2/0/ uniquely identifies the format of this URL. If you
|
||||
# change the format of this URL, then you MUST change the prefix (i.e.,
|
||||
# increment 0 to 1).
|
||||
app.update.url=https://aus.mozilla.org/update2/0/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/update.xml
|
||||
# When updating fails, we present the user with this web page:
|
||||
app.update.url.manual=http://www.mozilla.org/update
|
||||
# This value should be empty unless you wish to override app.update.url
|
||||
app.update.url.override=
|
||||
hideButtonLabel=Hide
|
||||
|
||||
progressFormatKBKB=#1 of #2 KB
|
||||
|
|
|
@ -1326,13 +1326,10 @@ var gErrorsPage = {
|
|||
var errorReason = document.getElementById("errorReason");
|
||||
errorReason.value = gUpdates.update.statusText;
|
||||
var errorLink = document.getElementById("errorLink");
|
||||
var pref = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefBranch2);
|
||||
var manualURL = pref.getComplexValue(PREF_UPDATE_MANUAL_URL,
|
||||
Components.interfaces.nsIPrefLocalizedString);
|
||||
errorLink.href = manualURL.data;
|
||||
var manualURL = getPref("getCharPref", PREF_UPDATE_MANUAL_URL, "");
|
||||
errorLink.href = manualURL;
|
||||
var errorLinkLabel = document.getElementById("errorLinkLabel");
|
||||
errorLinkLabel.value = manualURL.data;
|
||||
errorLinkLabel.value = manualURL;
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#
|
||||
# vim:set ts=8 sw=8 sts=8 noet:
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
|
|
|
@ -45,6 +45,7 @@ const PREF_APP_UPDATE_TIMER = "app.update.timer";
|
|||
const PREF_APP_UPDATE_LOG_BRANCH = "app.update.log.";
|
||||
const PREF_APP_UPDATE_URL = "app.update.url";
|
||||
const PREF_APP_UPDATE_URL_OVERRIDE = "app.update.url.override";
|
||||
const PREF_APP_UPDATE_CHANNEL = "app.update.channel";
|
||||
const PREF_APP_UPDATE_SHOW_INSTALLED_UI = "app.update.showInstalledUI";
|
||||
const PREF_APP_UPDATE_LASTUPDATETIME_FMT = "app.update.lastUpdateTime.%ID%";
|
||||
const PREF_APP_EXTENSIONS_VERSION = "app.extensions.version";
|
||||
|
@ -1480,29 +1481,43 @@ Checker.prototype = {
|
|||
* about available updates.
|
||||
*/
|
||||
get updateURL() {
|
||||
var url;
|
||||
try {
|
||||
var defaults =
|
||||
gPref.QueryInterface(Components.interfaces.nsIPrefService).
|
||||
getDefaultBranch(null);
|
||||
|
||||
// Use the override URL if specified.
|
||||
url = gPref.getComplexValue(PREF_APP_UPDATE_URL_OVERRIDE,
|
||||
nsIPrefLocalizedString).data;
|
||||
if (url && url != "")
|
||||
return url;
|
||||
} catch (e) {}
|
||||
var url = getPref("getCharPref", PREF_APP_UPDATE_URL_OVERRIDE, null);
|
||||
|
||||
// Otherwise, construct the update URL from component parts.
|
||||
if (!url) {
|
||||
try {
|
||||
url = gPref.getComplexValue(PREF_APP_UPDATE_URL,
|
||||
nsIPrefLocalizedString).data;
|
||||
url = defaults.getCharPref(PREF_APP_UPDATE_URL);
|
||||
} catch (e) {
|
||||
LOG("Checker", PREF_APP_UPDATE_URL + " not defined");
|
||||
}
|
||||
}
|
||||
|
||||
if (!url || url == "") {
|
||||
LOG("Checker", "Update URL not defined");
|
||||
return null;
|
||||
}
|
||||
|
||||
// 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.
|
||||
function getUpdateChannel() {
|
||||
try {
|
||||
return defaults.getCharPref(PREF_APP_UPDATE_CHANNEL);
|
||||
} catch (e) {
|
||||
return "default"; // failover when pref not found
|
||||
}
|
||||
}
|
||||
|
||||
url = url.replace(/%PRODUCT%/g, gApp.name);
|
||||
url = url.replace(/%VERSION%/g, gApp.version);
|
||||
url = url.replace(/%BUILD_ID%/g, gApp.appBuildID);
|
||||
url = url.replace(/%BUILD_TARGET%/g, gApp.OS + "_" + gApp.XPCOMABI);
|
||||
url = url.replace(/%LOCALE%/g, getLocale());
|
||||
url = url.replace(/%CHANNEL%/g, getUpdateChannel());
|
||||
url = url.replace(/\+/g, "%2B");
|
||||
|
||||
LOG("Checker", "update url: " + url);
|
||||
|
|
Загрузка…
Ссылка в новой задаче