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 | 10 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 namespace { | 57 namespace { |
58 | 58 |
59 // Avoid leaving behind a Temp dir. If one exists, ask SelfCleaningTempDir to | 59 // Avoid leaving behind a Temp dir. If one exists, ask SelfCleaningTempDir to |
60 // clean it up for us. This may involve scheduling it for deletion after | 60 // clean it up for us. This may involve scheduling it for deletion after |
61 // reboot. Don't report that a reboot is required in this case, however. | 61 // reboot. Don't report that a reboot is required in this case, however. |
62 // TODO(erikwright): Shouldn't this still lead to | 62 // TODO(erikwright): Shouldn't this still lead to |
63 // ScheduleParentAndGrandparentForDeletion? | 63 // ScheduleParentAndGrandparentForDeletion? |
64 void DeleteInstallTempDir(const base::FilePath& target_path) { | 64 void DeleteInstallTempDir(const base::FilePath& target_path) { |
65 base::FilePath temp_path(target_path.DirName().Append( | 65 base::FilePath temp_path(target_path.DirName().Append( |
66 installer::kInstallTempDir)); | 66 installer::kInstallTempDir)); |
67 if (file_util::DirectoryExists(temp_path)) { | 67 if (base::DirectoryExists(temp_path)) { |
68 installer::SelfCleaningTempDir temp_dir; | 68 installer::SelfCleaningTempDir temp_dir; |
69 if (!temp_dir.Initialize(target_path.DirName(), | 69 if (!temp_dir.Initialize(target_path.DirName(), |
70 installer::kInstallTempDir) || | 70 installer::kInstallTempDir) || |
71 !temp_dir.Delete()) { | 71 !temp_dir.Delete()) { |
72 LOG(ERROR) << "Failed to delete temp dir " << temp_path.value(); | 72 LOG(ERROR) << "Failed to delete temp dir " << temp_path.value(); |
73 } | 73 } |
74 } | 74 } |
75 } | 75 } |
76 | 76 |
77 // Iterates over the list of distribution types in |dist_types|, and | 77 // Iterates over the list of distribution types in |dist_types|, and |
(...skipping 1348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1426 // deletion unconditionally. If they are not empty, the session manager | 1426 // deletion unconditionally. If they are not empty, the session manager |
1427 // will not delete them on reboot. | 1427 // will not delete them on reboot. |
1428 ScheduleParentAndGrandparentForDeletion(target_path); | 1428 ScheduleParentAndGrandparentForDeletion(target_path); |
1429 } else if (DeleteApplicationProductAndVendorDirectories(target_path) == | 1429 } else if (DeleteApplicationProductAndVendorDirectories(target_path) == |
1430 installer::DELETE_FAILED) { | 1430 installer::DELETE_FAILED) { |
1431 *uninstall_status = installer::UNINSTALL_FAILED; | 1431 *uninstall_status = installer::UNINSTALL_FAILED; |
1432 } | 1432 } |
1433 } | 1433 } |
1434 | 1434 |
1435 } // namespace installer | 1435 } // namespace installer |
OLD | NEW |