summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/google_update_settings.h
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-10 00:33:42 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-10 00:33:42 +0000
commit0756b454ebf4d7988191d302fce0752ff29fb7fe (patch)
treea4e2eb9cd93eefa379c4d826e08a3ad9dca065d0 /chrome/installer/util/google_update_settings.h
parent7806b3cfc15a32f3847088f09528afd5c6f98cd1 (diff)
downloadchromium_src-0756b454ebf4d7988191d302fce0752ff29fb7fe.zip
chromium_src-0756b454ebf4d7988191d302fce0752ff29fb7fe.tar.gz
chromium_src-0756b454ebf4d7988191d302fce0752ff29fb7fe.tar.bz2
Fix problem whereby the "-full" magic value is removed from the "ap" value when a differential update for CF fails (it should remain unless the update succeeds).
Also, fix problem with installer return codes being squashed. This was a regression introduced in http://src.chromium.org/viewvc/chrome?view=rev&revision=41322. BUG=46051,40607 TEST=Cause a differential update to fail, observe that the "ap" value contains a "-full". Review URL: http://codereview.chromium.org/2773002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49346 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/util/google_update_settings.h')
-rw-r--r--chrome/installer/util/google_update_settings.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/chrome/installer/util/google_update_settings.h b/chrome/installer/util/google_update_settings.h
index 70fbaf8..dd7145e 100644
--- a/chrome/installer/util/google_update_settings.h
+++ b/chrome/installer/util/google_update_settings.h
@@ -83,6 +83,27 @@ class GoogleUpdateSettings {
// on success, channel contains one of "", "unknown", "dev" or "beta".
static bool GetChromeChannel(bool system_install, std::wstring* channel);
+ static void UpdateDiffInstallStatus(bool system_install,
+ bool incremental_install,
+ int install_return_code,
+ const std::wstring& product_guid);
+
+ // This method generates the new value for Google Update "ap" key for Chrome
+ // based on whether we are doing incremental install (or not) and whether
+ // the install succeeded.
+ // - If install worked, remove the magic string (if present).
+ // - If incremental installer failed, append a magic string (if
+ // not present already).
+ // - If full installer failed, still remove this magic
+ // string (if it is present already).
+ //
+ // diff_install: tells whether this is incremental install or not.
+ // install_return_code: if 0, means installation was successful.
+ // value: current value of Google Update "ap" key.
+ static std::wstring GetNewGoogleUpdateApKey(bool diff_install,
+ int install_return_code,
+ const std::wstring& value);
+
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(GoogleUpdateSettings);
};