Index: chrome/browser/extensions/api/management/management_api.cc |
diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc |
index af08b1451f6f4a0d61b9d978031ead7f05b45a1e..a4caeefa8607f3f4cf1817d1279fc622bb1efa33 100644 |
--- a/chrome/browser/extensions/api/management/management_api.cc |
+++ b/chrome/browser/extensions/api/management/management_api.cc |
@@ -513,17 +513,7 @@ ManagementUninstallFunction::ManagementUninstallFunction() { |
ManagementUninstallFunction::~ManagementUninstallFunction() { |
} |
-bool ManagementUninstallFunction::RunImpl() { |
- scoped_ptr<management::Uninstall::Params> params( |
- management::Uninstall::Params::Create(*args_)); |
- EXTENSION_FUNCTION_VALIDATE(params.get()); |
- |
- extension_id_ = params->id; |
- |
- bool show_confirm_dialog = false; |
- if (params->options.get() && params->options->show_confirm_dialog.get()) |
- show_confirm_dialog = *params->options->show_confirm_dialog; |
- |
+bool ManagementUninstallFunction::DoUninstall(bool show_confirm_dialog) { |
const Extension* extension = service()->GetExtensionById(extension_id_, true); |
if (!extension) { |
error_ = ErrorUtils::FormatErrorMessage( |
@@ -554,11 +544,30 @@ bool ManagementUninstallFunction::RunImpl() { |
return true; |
} |
+bool ManagementUninstallFunction::RunImpl() { |
+ scoped_ptr<management::Uninstall::Params> params( |
+ management::Uninstall::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ extension_id_ = params->id; |
+ |
+ bool show_confirm_dialog = false; |
+ if (params->options.get() && params->options->show_confirm_dialog.get()) |
+ show_confirm_dialog = *params->options->show_confirm_dialog; |
+ |
+ return DoUninstall(show_confirm_dialog); |
+} |
+ |
// static |
void ManagementUninstallFunction::SetAutoConfirmForTest(bool should_proceed) { |
auto_confirm_for_test = should_proceed ? PROCEED : ABORT; |
} |
+void ManagementUninstallFunction::set_extension_id( |
+ const std::string& extension_id) { |
+ extension_id_ = extension_id; |
+} |
+ |
void ManagementUninstallFunction::Finish(bool should_uninstall) { |
if (should_uninstall) { |
bool success = service()->UninstallExtension( |
@@ -576,6 +585,25 @@ void ManagementUninstallFunction::Finish(bool should_uninstall) { |
} |
+ManagementUninstallSelfFunction::ManagementUninstallSelfFunction() { |
koz (OOO until 15th September)
2013/01/29 05:20:26
The definitions of functions for a class should al
calamity
2013/01/29 06:06:16
Done.
|
+} |
+ |
+ManagementUninstallSelfFunction::~ManagementUninstallSelfFunction() { |
+} |
+ |
+bool ManagementUninstallSelfFunction::RunImpl() { |
+ scoped_ptr<management::UninstallSelf::Params> params( |
+ management::UninstallSelf::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ set_extension_id(extension_->id()); |
+ |
+ bool show_confirm_dialog = false; |
+ if (params->options.get() && params->options->show_confirm_dialog.get()) |
+ show_confirm_dialog = *params->options->show_confirm_dialog; |
+ return DoUninstall(show_confirm_dialog); |
+} |
+ |
void ManagementUninstallFunction::ExtensionUninstallAccepted() { |
Finish(true); |
Release(); |