Chromium Code Reviews| Index: chrome/installer/setup/uninstall.cc |
| diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc |
| index 0404b79140a31ff838dfdf374e4a916f057f4b6b..1fba48d91c7c6c99e68e7f49777e48bcfa6a1c1c 100644 |
| --- a/chrome/installer/setup/uninstall.cc |
| +++ b/chrome/installer/setup/uninstall.cc |
| @@ -837,7 +837,7 @@ void UninstallActiveSetupEntries(const InstallerState& installer_state, |
| } |
| // Removes the persistent blacklist state for the current user. Note: this will |
| -// not remove the state for users other than the one uninstalling chrome on a |
| +// not remove the state for users other than the one uninstalling Chrome on a |
| // system-level install (http://crbug.com/388725). Doing so would require |
| // extracting the per-user registry hive iteration from |
| // UninstallActiveSetupEntries so that it could service multiple tasks. |
| @@ -850,6 +850,15 @@ void RemoveBlacklistState() { |
| 0); // wow64_access |
| } |
| +// Removes the persistent state for |distribution| for the current user. Note: |
| +// this will not remove the state for users other than the one uninstalling |
| +// Chrome on a system-level install; see RemoveBlacklistState for details. |
|
robertshield
2015/09/01 14:20:12
This deletes all persistent state, more than just
grt (UTC plus 2)
2015/09/03 18:12:06
No, I didn't. As a policy, I believe that selectin
|
| +void RemoveDistributionRegistryState(BrowserDistribution* distribution) { |
| + base::string16 key_name(L"Software\\"); |
| + key_name += distribution->GetInstallSubDir(); |
| + InstallUtil::DeleteRegistryKey(HKEY_CURRENT_USER, key_name, KEY_WOW64_32KEY); |
| +} |
| + |
| } // namespace |
| DeleteResult DeleteChromeDirectoriesIfEmpty( |
| @@ -1339,8 +1348,10 @@ InstallStatus UninstallProduct(const InstallationState& original_state, |
| } |
| } |
| - if (delete_profile) |
| + if (delete_profile) { |
| DeleteUserDataDir(user_data_dir, product.is_chrome_frame()); |
| + RemoveDistributionRegistryState(browser_dist); |
| + } |
| if (!force_uninstall) { |
| VLOG(1) << "Uninstallation complete. Launching post-uninstall operations."; |