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

Unified Diff: chrome/browser/download/download_request_manager.cc

Issue 275011: Make the multiple download request dialog an infobar.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 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/download/download_request_manager.cc
===================================================================
--- chrome/browser/download/download_request_manager.cc (revision 28899)
+++ chrome/browser/download/download_request_manager.cc (working copy)
@@ -6,7 +6,7 @@
#include "base/message_loop.h"
#include "base/thread.h"
-#include "chrome/browser/download/download_request_dialog_delegate.h"
+#include "chrome/browser/download/download_request_infobar_delegate.h"
#include "chrome/browser/tab_contents/navigation_controller.h"
#include "chrome/browser/tab_contents/navigation_entry.h"
#include "chrome/browser/tab_contents/tab_contents_delegate.h"
@@ -23,7 +23,7 @@
: host_(host),
controller_(controller),
status_(DownloadRequestManager::ALLOW_ONE_DOWNLOAD),
- dialog_delegate_(NULL) {
+ infobar_(NULL) {
Source<NavigationController> notification_source(controller);
registrar_.Add(this, NotificationType::NAV_ENTRY_PENDING,
notification_source);
@@ -39,8 +39,8 @@
// We should only be destroyed after the callbacks have been notified.
DCHECK(callbacks_.empty());
- // And we should have closed the message box.
- DCHECK(!dialog_delegate_);
+ // And we should have closed the infobar.
+ DCHECK(!infobar_);
}
void DownloadRequestManager::TabDownloadState::OnUserGesture() {
@@ -69,7 +69,7 @@
if (DownloadRequestManager::delegate_) {
NotifyCallbacks(DownloadRequestManager::delegate_->ShouldAllowDownload());
} else {
- dialog_delegate_ = DownloadRequestDialogDelegate::Create(tab, this);
+ infobar_ = new DownloadRequestInfoBarDelegate(tab, this);
}
}
@@ -109,13 +109,8 @@
return;
}
- if (is_showing_prompt()) {
- // We're prompting the user and they navigated away. Close the popup and
- // cancel the downloads.
- dialog_delegate_->CloseWindow();
- // After switch we'll notify callbacks and get deleted.
- } else if (status_ == DownloadRequestManager::ALLOW_ALL_DOWNLOADS ||
- status_ == DownloadRequestManager::DOWNLOADS_NOT_ALLOWED) {
+ if (status_ == DownloadRequestManager::ALLOW_ALL_DOWNLOADS ||
+ status_ == DownloadRequestManager::DOWNLOADS_NOT_ALLOWED) {
// User has either allowed all downloads or canceled all downloads. Only
// reset the download state if the user is navigating to a different
// host (or host is empty).
@@ -123,8 +118,7 @@
entry->url().host() == initial_page_host_) {
return;
}
- } // else case: we're not prompting user and user hasn't allowed or
- // disallowed downloads, break so that we get deleted after switch.
+ }
break;
}
@@ -142,10 +136,10 @@
}
void DownloadRequestManager::TabDownloadState::NotifyCallbacks(bool allow) {
- if (dialog_delegate_) {
+ if (infobar_) {
// Reset the delegate so we don't get notified again.
- dialog_delegate_->set_host(NULL);
- dialog_delegate_ = NULL;
+ infobar_->set_host(NULL);
+ infobar_ = NULL;
}
status_ = allow ?
DownloadRequestManager::ALLOW_ALL_DOWNLOADS :
« no previous file with comments | « chrome/browser/download/download_request_manager.h ('k') | chrome/browser/extensions/extension_disabled_infobar_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698