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

Unified Diff: chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc

Issue 9969193: Change the "close Chrome with downloads in progress" dialog to resemble kenmoore's mock (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: GTK and Mac Created 8 years, 8 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/gtk/download/download_in_progress_dialog_gtk.cc
diff --git a/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc b/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc
index b619a40fa26776621f2b7cf6b82663e040203dfd..8d30d407c053e13c7dbef48e00e72b91f8b02fdd 100644
--- a/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc
+++ b/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc
@@ -25,42 +25,51 @@ DownloadInProgressDialogGtk::DownloadInProgressDialogGtk(
gfx::NativeWindow parent_window)
: browser_(browser) {
int download_count;
- Browser::DownloadClosePreventionType type =
+ Browser::DownloadClosePreventionType dialog_type =
browser_->OkToCloseWithInProgressDownloads(&download_count);
- // This dialog should have been created within the same thread invocation
- // as the original test that lead to us, so it should always not be ok
- // to close.
- DCHECK_NE(Browser::DOWNLOAD_CLOSE_OK, type);
-
- // TODO(rdsmith): This dialog should be different depending on whether we're
- // closing the last incognito window of a profile or doing browser shutdown.
- // See http://crbug.com/88421.
-
- std::string warning_text;
+ std::string title_text;
std::string explanation_text;
std::string ok_button_text;
- std::string cancel_button_text;
- if (download_count == 1) {
- warning_text = l10n_util::GetStringUTF8(
- IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_WARNING);
- explanation_text = l10n_util::GetStringUTF8(
- IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION);
- ok_button_text = l10n_util::GetStringUTF8(
- IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL);
- cancel_button_text = l10n_util::GetStringUTF8(
- IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL);
- } else {
- warning_text = l10n_util::GetStringFUTF8(
- IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_WARNING,
- base::IntToString16(download_count));
- explanation_text = l10n_util::GetStringUTF8(
- IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION);
- ok_button_text = l10n_util::GetStringUTF8(
- IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_OK_BUTTON_LABEL);
- cancel_button_text = l10n_util::GetStringUTF8(
- IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL);
+ switch (dialog_type) {
+ case Browser::DOWNLOAD_CLOSE_BROWSER_SHUTDOWN:
+ if (download_count == 1) {
+ title_text = l10n_util::GetStringUTF8(
+ IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_TITLE);
+ explanation_text = l10n_util::GetStringUTF8(
+ IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION);
+ } else {
+ title_text = l10n_util::GetStringUTF8(
+ IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_TITLE);
+ explanation_text = l10n_util::GetStringUTF8(
+ IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION);
+ }
+ ok_button_text = l10n_util::GetStringUTF8(
+ IDS_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL);
+ break;
+ case Browser::DOWNLOAD_CLOSE_LAST_WINDOW_IN_INCOGNITO_PROFILE:
+ if (download_count == 1) {
+ title_text = l10n_util::GetStringUTF8(
+ IDS_SINGLE_INCOGNITO_DOWNLOAD_REMOVE_CONFIRM_TITLE);
+ explanation_text = l10n_util::GetStringUTF8(
+ IDS_SINGLE_INCOGNITO_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION);
+ } else {
+ title_text = l10n_util::GetStringUTF8(
+ IDS_MULTIPLE_INCOGNITO_DOWNLOADS_REMOVE_CONFIRM_TITLE);
+ explanation_text = l10n_util::GetStringUTF8(
+ IDS_MULTIPLE_INCOGNITO_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION);
+ }
+ ok_button_text = l10n_util::GetStringUTF8(
+ IDS_INCOGNITO_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL);
+ break;
+ default:
+ // This dialog should have been created within the same thread invocation
+ // as the original test that lead to us, so it should always not be ok
+ // to close.
+ NOTREACHED();
}
+ std::string cancel_button_text = l10n_util::GetStringUTF8(
+ IDS_DOWNLOAD_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL);
GtkWidget* dialog = gtk_message_dialog_new(
parent_window,
@@ -68,11 +77,11 @@ DownloadInProgressDialogGtk::DownloadInProgressDialogGtk(
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
"%s",
- warning_text.c_str());
- gtk_util::AddButtonToDialog(dialog, cancel_button_text.c_str(),
- GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT);
- gtk_util::AddButtonToDialog(dialog, ok_button_text.c_str(),
- GTK_STOCK_OK, GTK_RESPONSE_ACCEPT);
+ title_text.c_str());
+ gtk_dialog_add_button(GTK_DIALOG(dialog),
+ cancel_button_text.c_str(), GTK_RESPONSE_REJECT);
+ gtk_dialog_add_button(GTK_DIALOG(dialog),
+ ok_button_text.c_str(), GTK_RESPONSE_ACCEPT);
gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),
"%s",
« no previous file with comments | « chrome/browser/app_controller_mac.mm ('k') | chrome/browser/ui/views/download/download_in_progress_dialog_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698