summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-04 14:55:26 +0000
committerrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-04 14:55:26 +0000
commit9c68deafbad5602922934ed412750636621ba938 (patch)
tree5f775f4d556e1bcc4716d9c465d425c95d7c198b /chrome
parentbc191c094b8d5912c807d0dd3d295b2a4ee6eb57 (diff)
downloadchromium_src-9c68deafbad5602922934ed412750636621ba938.zip
chromium_src-9c68deafbad5602922934ed412750636621ba938.tar.gz
chromium_src-9c68deafbad5602922934ed412750636621ba938.tar.bz2
Make sure to remove RLZ-related registry values on chrome uninstall.
BUG=3486114 TEST=Install chrome with a non-organic brand code. Start it and wait for the RLZ registry values to be written to HKCU\software\google\common\rlz. Uninstall chrome and make sure that the registry values are gone. Note that only the registry keys and value that start with the letter 'C' relate to chrome; any other that may exist after uninstall are OK. Review URL: http://codereview.chromium.org/6597089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76915 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/chrome_installer.gypi2
-rw-r--r--chrome/installer/DEPS1
-rw-r--r--chrome/installer/setup/uninstall.cc6
3 files changed, 9 insertions, 0 deletions
diff --git a/chrome/chrome_installer.gypi b/chrome/chrome_installer.gypi
index 573d209d..e270f7d 100644
--- a/chrome/chrome_installer.gypi
+++ b/chrome/chrome_installer.gypi
@@ -202,6 +202,8 @@
'<(DEPTH)/chrome_frame/chrome_frame.gyp:chrome_tab_idl',
'<(DEPTH)/chrome_frame/chrome_frame.gyp:npchrome_frame',
'<(DEPTH)/breakpad/breakpad.gyp:breakpad_handler',
+ '<(DEPTH)/rlz/rlz.gyp:rlz_lib',
+ '<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
],
'include_dirs': [
'<(DEPTH)',
diff --git a/chrome/installer/DEPS b/chrome/installer/DEPS
index 1fa50b3..730780b 100644
--- a/chrome/installer/DEPS
+++ b/chrome/installer/DEPS
@@ -1,4 +1,5 @@
include_rules = [
+ "+rlz",
"+third_party/bspatch",
"+third_party/lzma_sdk",
]
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
index 2b71dcb..beffd1c 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -32,6 +32,7 @@
#include "chrome/installer/util/self_cleaning_temp_dir.h"
#include "chrome/installer/util/shell_util.h"
#include "chrome/installer/util/util_constants.h"
+#include "rlz/win/lib/rlz_lib.h"
// Build-time generated include file.
#include "registered_dlls.h" // NOLINT
@@ -651,6 +652,11 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
// Chrome is not in use so lets uninstall Chrome by deleting various files
// and registry entries. Here we will just make best effort and keep going
// in case of errors.
+ if (is_chrome) {
+ const rlz_lib::AccessPoint access_points[] = {rlz_lib::CHROME_OMNIBOX,
+ rlz_lib::CHROME_HOME_PAGE};
+ rlz_lib::ClearProductState(rlz_lib::CHROME, access_points);
+ }
// First delete shortcuts from Start->Programs, Desktop & Quick Launch.
DeleteChromeShortcuts(installer_state, product);