Chromium Code Reviews| Index: chrome/installer/setup/install_worker.cc |
| diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc |
| index 5878c00439e338b422250972c0fa50ccb7bf8aa1..4a6b610596d04f63dd9e18cbe2dd44c1dbad9242 100644 |
| --- a/chrome/installer/setup/install_worker.cc |
| +++ b/chrome/installer/setup/install_worker.cc |
| @@ -40,6 +40,7 @@ |
| #include "chrome/installer/util/callback_work_item.h" |
| #include "chrome/installer/util/conditional_work_item_list.h" |
| #include "chrome/installer/util/create_reg_key_work_item.h" |
| +#include "chrome/installer/util/delete_old_versions.h" |
| #include "chrome/installer/util/firewall_manager_win.h" |
| #include "chrome/installer/util/google_update_constants.h" |
| #include "chrome/installer/util/helper.h" |
| @@ -399,6 +400,19 @@ void AddCleanupDelegateExecuteWorkItems(const InstallerState& installer_state, |
| } |
| } |
| +bool DeleteOldVersionsCallback(const base::FilePath& install_dir, |
| + const CallbackWorkItem& work_item) { |
| + // No rollback is possible for this action. |
| + if (work_item.IsRollback()) |
| + return true; |
| + |
| + DeleteOldVersions(install_dir); |
| + |
| + // TODO(fdoray): Launch a cleanup process if old files remain. |
| + // crbug.com/451546 |
| + return true; |
| +} |
| + |
| } // namespace |
| // This method adds work items to create (or update) Chrome uninstall entry in |
| @@ -1003,6 +1017,10 @@ bool AppendPostInstallTasks(const InstallerState& installer_state, |
| version_key, |
| KEY_WOW64_32KEY, |
| google_update::kRegRenameCmdField); |
| + |
| + // Delete old files. |
| + regular_update_work_items->AddCallbackWorkItem(base::Bind( |
| + &DeleteOldVersionsCallback, installer_state.target_path())); |
|
fdoray
2016/02/05 22:56:41
Note to myself: I've just seen that InstallerStat
|
| } |
| post_install_task_list->AddWorkItem(regular_update_work_items.release()); |