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

Side by Side Diff: chrome/browser/extensions/extension_install_ui.cc

Issue 3332016: Add a confirmation prompt to app uninstallation on the ntp. (Closed) Base URL: git://codf21.jail/chromium.git
Patch Set: fix layout on Windows, remove some old crap Created 10 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_install_ui.h" 5 #include "chrome/browser/extensions/extension_install_ui.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 IDS_EXTENSION_UNINSTALL_PROMPT_HEADING 56 IDS_EXTENSION_UNINSTALL_PROMPT_HEADING
57 }; 57 };
58 // static 58 // static
59 const int ExtensionInstallUI::kButtonIds[NUM_PROMPT_TYPES] = { 59 const int ExtensionInstallUI::kButtonIds[NUM_PROMPT_TYPES] = {
60 IDS_EXTENSION_PROMPT_INSTALL_BUTTON, 60 IDS_EXTENSION_PROMPT_INSTALL_BUTTON,
61 IDS_EXTENSION_PROMPT_UNINSTALL_BUTTON 61 IDS_EXTENSION_PROMPT_UNINSTALL_BUTTON
62 }; 62 };
63 63
64 namespace { 64 namespace {
65 65
66 // Size of extension icon in top left of dialog.
67 const int kIconSize = 69;
68
66 static void GetV2Warnings(Extension* extension, 69 static void GetV2Warnings(Extension* extension,
67 std::vector<string16>* warnings) { 70 std::vector<string16>* warnings) {
68 if (!extension->plugins().empty()) { 71 if (!extension->plugins().empty()) {
69 // TODO(aa): This one is a bit awkward. Should we have a separate 72 // TODO(aa): This one is a bit awkward. Should we have a separate
70 // presentation for this case? 73 // presentation for this case?
71 warnings->push_back( 74 warnings->push_back(
72 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT2_WARNING_FULL_ACCESS)); 75 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT2_WARNING_FULL_ACCESS));
73 return; 76 return;
74 } 77 }
75 78
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 case INSTALL_PROMPT: { 287 case INSTALL_PROMPT: {
285 // TODO(jcivelli): http://crbug.com/44771 We should not show an install 288 // TODO(jcivelli): http://crbug.com/44771 We should not show an install
286 // dialog when installing an app from the gallery. 289 // dialog when installing an app from the gallery.
287 NotificationService* service = NotificationService::current(); 290 NotificationService* service = NotificationService::current();
288 service->Notify(NotificationType::EXTENSION_WILL_SHOW_CONFIRM_DIALOG, 291 service->Notify(NotificationType::EXTENSION_WILL_SHOW_CONFIRM_DIALOG,
289 Source<ExtensionInstallUI>(this), 292 Source<ExtensionInstallUI>(this),
290 NotificationService::NoDetails()); 293 NotificationService::NoDetails());
291 294
292 std::vector<string16> warnings; 295 std::vector<string16> warnings;
293 GetV2Warnings(extension_, &warnings); 296 GetV2Warnings(extension_, &warnings);
294 ShowExtensionInstallUIPrompt2Impl( 297 ShowExtensionInstallUIPrompt2Impl(profile_, delegate_, extension_, &icon_,
295 profile_, delegate_, extension_, &icon_, warnings); 298 warnings);
296 break; 299 break;
297 } 300 }
298 case UNINSTALL_PROMPT: { 301 case UNINSTALL_PROMPT: {
299 string16 message =
300 l10n_util::GetStringUTF16(IDS_EXTENSION_UNINSTALL_CONFIRMATION);
301 ShowExtensionInstallUIPromptImpl(profile_, delegate_, extension_, &icon_, 302 ShowExtensionInstallUIPromptImpl(profile_, delegate_, extension_, &icon_,
302 message, UNINSTALL_PROMPT); 303 UNINSTALL_PROMPT);
303 break; 304 break;
304 } 305 }
305 default: 306 default:
306 NOTREACHED() << "Unknown message"; 307 NOTREACHED() << "Unknown message";
307 break; 308 break;
308 } 309 }
309 } 310 }
310 311
311 void ExtensionInstallUI::ShowThemeInfoBar( 312 void ExtensionInstallUI::ShowThemeInfoBar(
312 const std::string& previous_theme_id, bool previous_use_system_theme, 313 const std::string& previous_theme_id, bool previous_use_system_theme,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 else 354 else
354 tab_contents->AddInfoBar(new_delegate); 355 tab_contents->AddInfoBar(new_delegate);
355 } 356 }
356 357
357 void ExtensionInstallUI::ShowConfirmation(PromptType prompt_type) { 358 void ExtensionInstallUI::ShowConfirmation(PromptType prompt_type) {
358 // Load the image asynchronously. For the response, check OnImageLoaded. 359 // Load the image asynchronously. For the response, check OnImageLoaded.
359 prompt_type_ = prompt_type; 360 prompt_type_ = prompt_type;
360 ExtensionResource image = 361 ExtensionResource image =
361 extension_->GetIconResource(Extension::EXTENSION_ICON_LARGE); 362 extension_->GetIconResource(Extension::EXTENSION_ICON_LARGE);
362 tracker_.LoadImage(extension_, image, 363 tracker_.LoadImage(extension_, image,
363 gfx::Size(Extension::EXTENSION_ICON_LARGE, 364 gfx::Size(kIconSize, kIconSize),
364 Extension::EXTENSION_ICON_LARGE),
365 ImageLoadingTracker::DONT_CACHE); 365 ImageLoadingTracker::DONT_CACHE);
366 } 366 }
367 367
368 #if defined(OS_MACOSX) 368 #if defined(OS_MACOSX)
369 void ExtensionInstallUI::ShowGenericExtensionInstalledInfoBar( 369 void ExtensionInstallUI::ShowGenericExtensionInstalledInfoBar(
370 Extension* new_extension) { 370 Extension* new_extension) {
371 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); 371 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_);
372 if (!browser) 372 if (!browser)
373 return; 373 return;
374 374
(...skipping 16 matching lines...) Expand all
391 TabContents* tab_contents, Extension* new_theme, 391 TabContents* tab_contents, Extension* new_theme,
392 const std::string& previous_theme_id, bool previous_use_system_theme) { 392 const std::string& previous_theme_id, bool previous_use_system_theme) {
393 #if defined(TOOLKIT_GTK) 393 #if defined(TOOLKIT_GTK)
394 return new GtkThemeInstalledInfoBarDelegate(tab_contents, new_theme, 394 return new GtkThemeInstalledInfoBarDelegate(tab_contents, new_theme,
395 previous_theme_id, previous_use_system_theme); 395 previous_theme_id, previous_use_system_theme);
396 #else 396 #else
397 return new ThemeInstalledInfoBarDelegate(tab_contents, new_theme, 397 return new ThemeInstalledInfoBarDelegate(tab_contents, new_theme,
398 previous_theme_id); 398 previous_theme_id);
399 #endif 399 #endif
400 } 400 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_install_ui.h ('k') | chrome/browser/gtk/extension_install_prompt_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698