diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 00:33:42 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 00:33:42 +0000 |
commit | 0756b454ebf4d7988191d302fce0752ff29fb7fe (patch) | |
tree | a4e2eb9cd93eefa379c4d826e08a3ad9dca065d0 /chrome/installer/util/google_update_settings.h | |
parent | 7806b3cfc15a32f3847088f09528afd5c6f98cd1 (diff) | |
download | chromium_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.h | 21 |
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); }; |