Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file defines the methods useful for uninstalling Chrome. | 5 // This file defines the methods useful for uninstalling Chrome. |
| 6 | 6 |
| 7 #include "chrome/installer/setup/uninstall.h" | 7 #include "chrome/installer/setup/uninstall.h" |
| 8 | 8 |
| 9 #include <windows.h> | 9 #include <windows.h> |
| 10 #include <stddef.h> | 10 #include <stddef.h> |
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 779 | 779 |
| 780 // Removes the persistent blacklist state for the current user. Note: this will | 780 // Removes the persistent blacklist state for the current user. Note: this will |
| 781 // not remove the state for users other than the one uninstalling Chrome on a | 781 // not remove the state for users other than the one uninstalling Chrome on a |
| 782 // system-level install (http://crbug.com/388725). Doing so would require | 782 // system-level install (http://crbug.com/388725). Doing so would require |
| 783 // extracting the per-user registry hive iteration from | 783 // extracting the per-user registry hive iteration from |
| 784 // UninstallActiveSetupEntries so that it could service multiple tasks. | 784 // UninstallActiveSetupEntries so that it could service multiple tasks. |
| 785 void RemoveBlacklistState() { | 785 void RemoveBlacklistState() { |
| 786 InstallUtil::DeleteRegistryKey(HKEY_CURRENT_USER, | 786 InstallUtil::DeleteRegistryKey(HKEY_CURRENT_USER, |
| 787 blacklist::kRegistryBeaconPath, | 787 blacklist::kRegistryBeaconPath, |
| 788 0); // wow64_access | 788 0); // wow64_access |
| 789 InstallUtil::DeleteRegistryKey(HKEY_CURRENT_USER, | |
| 790 blacklist::kRegistryFinchListPath, | |
| 791 0); // wow64_access | |
|
robertshield
2016/07/22 02:37:52
I reckon we should leave this bit here for now. As
penny
2016/07/27 22:55:52
Done. I figured that anyone with a current instal
| |
| 792 } | 789 } |
| 793 | 790 |
| 794 // Removes the persistent state for |distribution| for the current user. Note: | 791 // Removes the persistent state for |distribution| for the current user. Note: |
| 795 // this will not remove the state for users other than the one uninstalling | 792 // this will not remove the state for users other than the one uninstalling |
| 796 // Chrome on a system-level install; see RemoveBlacklistState for details. | 793 // Chrome on a system-level install; see RemoveBlacklistState for details. |
| 797 void RemoveDistributionRegistryState(BrowserDistribution* distribution) { | 794 void RemoveDistributionRegistryState(BrowserDistribution* distribution) { |
| 798 // Binaries do not store per-user state. | 795 // Binaries do not store per-user state. |
| 799 if (distribution->GetType() != BrowserDistribution::CHROME_BINARIES) { | 796 if (distribution->GetType() != BrowserDistribution::CHROME_BINARIES) { |
| 800 static const base::char16* const kKeysToPreserve[] = { | 797 static const base::char16* const kKeysToPreserve[] = { |
| 801 L"Extensions", | 798 L"Extensions", |
| (...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1370 // If we need a reboot to continue, schedule the parent directories for | 1367 // If we need a reboot to continue, schedule the parent directories for |
| 1371 // deletion unconditionally. If they are not empty, the session manager | 1368 // deletion unconditionally. If they are not empty, the session manager |
| 1372 // will not delete them on reboot. | 1369 // will not delete them on reboot. |
| 1373 ScheduleParentAndGrandparentForDeletion(target_path); | 1370 ScheduleParentAndGrandparentForDeletion(target_path); |
| 1374 } else if (DeleteChromeDirectoriesIfEmpty(target_path) == DELETE_FAILED) { | 1371 } else if (DeleteChromeDirectoriesIfEmpty(target_path) == DELETE_FAILED) { |
| 1375 *uninstall_status = UNINSTALL_FAILED; | 1372 *uninstall_status = UNINSTALL_FAILED; |
| 1376 } | 1373 } |
| 1377 } | 1374 } |
| 1378 | 1375 |
| 1379 } // namespace installer | 1376 } // namespace installer |
| OLD | NEW |