Chromium Code Reviews| Index: chrome/browser/extensions/extension_uninstall_dialog.cc |
| diff --git a/chrome/browser/extensions/extension_uninstall_dialog.cc b/chrome/browser/extensions/extension_uninstall_dialog.cc |
| index b56187031454a7f7051d637a45ecf474c858ba7c..a1ce05ab8730f5d039e8d430cb96f5b603b3262b 100644 |
| --- a/chrome/browser/extensions/extension_uninstall_dialog.cc |
| +++ b/chrome/browser/extensions/extension_uninstall_dialog.cc |
| @@ -163,21 +163,11 @@ void ExtensionUninstallDialog::OnDialogClosed(CloseAction action) { |
| base::string16 error; |
| switch (action) { |
| case CLOSE_ACTION_UNINSTALL_AND_REPORT_ABUSE: |
| + Uninstall(success, error); |
|
Devlin
2017/05/05 20:46:38
We should add a comment indicating why this order
catmullings
2017/05/15 22:27:55
Done.
|
| HandleReportAbuse(); |
| - // Fall through. |
| + break; |
| case CLOSE_ACTION_UNINSTALL: { |
| - const Extension* current_extension = |
| - ExtensionRegistry::Get(profile_)->GetExtensionById( |
| - extension_->id(), ExtensionRegistry::EVERYTHING); |
| - if (current_extension) { |
| - success = |
| - ExtensionSystem::Get(profile_) |
| - ->extension_service() |
| - ->UninstallExtension(extension_->id(), uninstall_reason_, |
| - base::Bind(&base::DoNothing), &error); |
| - } else { |
| - error = base::ASCIIToUTF16(kExtensionRemovedError); |
| - } |
| + Uninstall(success, error); |
| break; |
| } |
| case CLOSE_ACTION_CANCELED: |
| @@ -190,6 +180,20 @@ void ExtensionUninstallDialog::OnDialogClosed(CloseAction action) { |
| delegate_->OnExtensionUninstallDialogClosed(success, error); |
| } |
| +void ExtensionUninstallDialog::Uninstall(bool& success, base::string16& error) { |
| + const Extension* current_extension = |
| + ExtensionRegistry::Get(profile_)->GetExtensionById( |
| + extension_->id(), ExtensionRegistry::EVERYTHING); |
| + if (current_extension) { |
| + success = |
| + ExtensionSystem::Get(profile_)->extension_service()->UninstallExtension( |
| + extension_->id(), uninstall_reason_, base::Bind(&base::DoNothing), |
| + &error); |
| + } else { |
| + error = base::ASCIIToUTF16(kExtensionRemovedError); |
| + } |
| +} |
| + |
| void ExtensionUninstallDialog::HandleReportAbuse() { |
| chrome::NavigateParams params( |
| profile_, |