Index: chrome/browser/android/offline_pages/downloads/offline_page_infobar_delegate.cc |
diff --git a/chrome/browser/android/offline_pages/downloads/offline_page_infobar_delegate.cc b/chrome/browser/android/offline_pages/downloads/offline_page_infobar_delegate.cc |
index 6fc0c934598b131ef2b4570261ed1d90c5a4150e..667e50f2195e6fc4a962e3c685df296cbec4d085 100644 |
--- a/chrome/browser/android/offline_pages/downloads/offline_page_infobar_delegate.cc |
+++ b/chrome/browser/android/offline_pages/downloads/offline_page_infobar_delegate.cc |
@@ -7,7 +7,7 @@ |
#include "base/memory/ptr_util.h" |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/infobars/infobar_service.h" |
-#include "chrome/browser/ui/android/infobars/download_overwrite_infobar.h" |
+#include "chrome/browser/ui/android/infobars/duplicate_download_infobar.h" |
#include "components/url_formatter/url_formatter.h" |
#include "ui/gfx/text_elider.h" |
@@ -15,8 +15,7 @@ namespace offline_pages { |
// static |
void OfflinePageInfoBarDelegate::Create( |
- const base::Callback<void(Action)>& confirm_continuation, |
- const std::string& downloads_label, |
+ const base::Closure& confirm_continuation, |
const GURL& page_to_download, |
content::WebContents* web_contents) { |
// The URL could be very long, especially since we are including query |
@@ -38,20 +37,21 @@ void OfflinePageInfoBarDelegate::Create( |
gfx::ElideString(formatted_url, kMaxLengthOfDisplayedPageUrl, &elided_url); |
InfoBarService::FromWebContents(web_contents) |
- ->AddInfoBar(DownloadOverwriteInfoBar::CreateInfoBar(base::WrapUnique( |
- new OfflinePageInfoBarDelegate(confirm_continuation, downloads_label, |
- base::UTF16ToUTF8(elided_url))))); |
+ ->AddInfoBar(DuplicateDownloadInfoBar::CreateInfoBar(base::WrapUnique( |
+ new OfflinePageInfoBarDelegate(confirm_continuation, |
+ base::UTF16ToUTF8(elided_url), |
+ page_to_download)))); |
} |
OfflinePageInfoBarDelegate::~OfflinePageInfoBarDelegate() {} |
OfflinePageInfoBarDelegate::OfflinePageInfoBarDelegate( |
- const base::Callback<void(Action)>& confirm_continuation, |
- const std::string& downloads_label, |
- const std::string& page_name) |
+ const base::Closure& confirm_continuation, |
+ const std::string& page_name, |
+ const GURL& page_to_download) |
: confirm_continuation_(confirm_continuation), |
- downloads_label_(downloads_label), |
- page_name_(page_name) {} |
+ page_name_(page_name), |
+ page_to_download_(page_to_download) {} |
infobars::InfoBarDelegate::InfoBarIdentifier |
OfflinePageInfoBarDelegate::GetIdentifier() const { |
@@ -62,30 +62,28 @@ bool OfflinePageInfoBarDelegate::EqualsDelegate( |
InfoBarDelegate* delegate) const { |
OfflinePageInfoBarDelegate* confirm_delegate = |
delegate->AsOfflinePageInfoBarDelegate(); |
- return confirm_delegate && GetFileName() == confirm_delegate->GetFileName(); |
+ return confirm_delegate && GetFilePath() == confirm_delegate->GetFilePath(); |
} |
-bool OfflinePageInfoBarDelegate::OverwriteExistingFile() { |
- // TODO(dewittj): Downloads UI intends to remove this functionality. |
- confirm_continuation_.Run(Action::OVERWRITE); |
+bool OfflinePageInfoBarDelegate::Cancel() { |
return true; |
} |
-bool OfflinePageInfoBarDelegate::CreateNewFile() { |
- confirm_continuation_.Run(Action::CREATE_NEW); |
+bool OfflinePageInfoBarDelegate::Download() { |
+ confirm_continuation_.Run(); |
return true; |
} |
-std::string OfflinePageInfoBarDelegate::GetFileName() const { |
+std::string OfflinePageInfoBarDelegate::GetFilePath() const { |
return page_name_; |
} |
-std::string OfflinePageInfoBarDelegate::GetDirName() const { |
- return downloads_label_; |
+bool OfflinePageInfoBarDelegate::IsOfflinePage() const { |
+ return true; |
} |
-std::string OfflinePageInfoBarDelegate::GetDirFullPath() const { |
- return std::string(); |
+std::string OfflinePageInfoBarDelegate::GetPageURL() const { |
+ return page_to_download_.spec(); |
} |
bool OfflinePageInfoBarDelegate::ShouldExpire( |