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

Unified Diff: chrome/browser/ui/webui/app_launcher_handler.cc

Issue 6721013: extensions: Refactor ExtensionInstallUI class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sort gypi Created 9 years, 9 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/ui/webui/app_launcher_handler.cc
diff --git a/chrome/browser/ui/webui/app_launcher_handler.cc b/chrome/browser/ui/webui/app_launcher_handler.cc
index c9631594a42b2b71f206f7b3d06c9521fda5daa2..4f37c86d93c969f3f6fb0df8da71228d4be94ba0 100644
--- a/chrome/browser/ui/webui/app_launcher_handler.cc
+++ b/chrome/browser/ui/webui/app_launcher_handler.cc
@@ -63,7 +63,7 @@ extension_misc::AppLaunchBucket ParseLaunchSource(std::string launch_source) {
AppLauncherHandler::AppLauncherHandler(ExtensionService* extension_service)
: extensions_service_(extension_service),
- extension_prompt_type_(ExtensionInstallUI::UNSET_PROMPT_TYPE),
+ is_uninstall_dialog_(false),
promo_active_(false),
ignore_changes_(false) {
}
@@ -406,8 +406,8 @@ void AppLauncherHandler::HandleUninstallApp(const ListValue* args) {
return; // Only one prompt at a time.
extension_id_prompting_ = extension_id;
- extension_prompt_type_ = ExtensionInstallUI::UNINSTALL_PROMPT;
- GetExtensionInstallUI()->ConfirmUninstall(this, extension);
+ is_uninstall_dialog_ = true;
+ GetExtensionGenericDialog()->ConfirmUninstall(this, extension);
}
void AppLauncherHandler::HandleHideAppsPromo(const ListValue* args) {
@@ -538,11 +538,11 @@ void AppLauncherHandler::PromptToEnableApp(std::string extension_id) {
return; // Only one prompt at a time.
extension_id_prompting_ = extension_id;
- extension_prompt_type_ = ExtensionInstallUI::RE_ENABLE_PROMPT;
+ is_uninstall_dialog_ = false;
GetExtensionInstallUI()->ConfirmReEnable(this, extension);
}
-void AppLauncherHandler::InstallUIProceed() {
+void AppLauncherHandler::ExtensionDialogAccepted() {
DCHECK(!extension_id_prompting_.empty());
// The extension can be uninstalled in another window while the UI was
@@ -552,12 +552,10 @@ void AppLauncherHandler::InstallUIProceed() {
if (!extension)
return;
- switch (extension_prompt_type_) {
- case ExtensionInstallUI::UNINSTALL_PROMPT:
+ if (is_uninstall_dialog_) {
extensions_service_->UninstallExtension(extension_id_prompting_,
false /* external_uninstall */);
- break;
- case ExtensionInstallUI::RE_ENABLE_PROMPT: {
+ } else {
extensions_service_->GrantPermissionsAndEnableExtension(extension);
// We bounce this off the NTP so the browser can update the apps icon.
@@ -566,24 +564,37 @@ void AppLauncherHandler::InstallUIProceed() {
// visual experience.
StringValue* app_id = Value::CreateStringValue(extension->id());
web_ui_->CallJavascriptFunction("launchAppAfterEnable", *app_id);
- break;
- }
- default:
- NOTREACHED();
- break;
}
extension_id_prompting_ = "";
}
-void AppLauncherHandler::InstallUIAbort() {
+void AppLauncherHandler::ExtensionDialogCanceled() {
extension_id_prompting_ = "";
}
+void AppLauncherHandler::InstallUIProceed() {
+ ExtensionDialogAccepted();
Aaron Boodman 2011/03/24 19:22:03 Since the code to run in the uninstall case and th
tfarina 2011/03/24 21:39:47 Done.
+}
+
+void AppLauncherHandler::InstallUIAbort() {
+ ExtensionDialogCanceled();
+}
+
+ExtensionGenericDialog* AppLauncherHandler::GetExtensionGenericDialog() {
+ if (!extension_generic_dialog_.get()) {
+ extension_generic_dialog_.reset(
+ new ExtensionGenericDialog(web_ui_->GetProfile()));
+ }
+ return extension_generic_dialog_.get();
+}
+
ExtensionInstallUI* AppLauncherHandler::GetExtensionInstallUI() {
- if (!install_ui_.get())
- install_ui_.reset(new ExtensionInstallUI(web_ui_->GetProfile()));
- return install_ui_.get();
+ if (!extension_install_ui_.get()) {
+ extension_install_ui_.reset(
+ new ExtensionInstallUI(web_ui_->GetProfile()));
+ }
+ return extension_install_ui_.get();
}
void AppLauncherHandler::UninstallDefaultApps() {

Powered by Google App Engine
This is Rietveld 408576698