Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1744)

Unified Diff: chrome/browser/extensions/api/management/management_api.cc

Issue 12089037: Add management.uninstallSelf to API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: modify api docs Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698