Index: chrome/browser/android/banners/app_banner_infobar_delegate.cc |
diff --git a/chrome/browser/android/banners/app_banner_infobar_delegate.cc b/chrome/browser/android/banners/app_banner_infobar_delegate.cc |
index dfa580f56e0bd906b079dc5811240c68c8c0965a..e35f55b42a5d4350a8159e72d780e6a8e0a4a660 100644 |
--- a/chrome/browser/android/banners/app_banner_infobar_delegate.cc |
+++ b/chrome/browser/android/banners/app_banner_infobar_delegate.cc |
@@ -4,57 +4,46 @@ |
#include "chrome/browser/android/banners/app_banner_infobar_delegate.h" |
+#include "base/android/jni_android.h" |
#include "base/strings/string16.h" |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/ui/android/infobars/app_banner_infobar.h" |
#include "chrome/grit/generated_resources.h" |
#include "components/infobars/core/infobar.h" |
#include "components/infobars/core/infobar_manager.h" |
-#include "ui/base/l10n/l10n_util.h" |
namespace banners { |
-infobars::InfoBar* AppBannerInfoBarDelegate::CreateForWebApp( |
+// static |
+AppBannerInfoBar* AppBannerInfoBarDelegate::CreateForWebApp( |
infobars::InfoBarManager* infobar_manager, |
- const AppDelegate* app_delegate, |
- const base::string16& app_name, |
+ AppDelegate* app_delegate, |
const GURL& url) { |
scoped_ptr<AppBannerInfoBarDelegate> delegate(new AppBannerInfoBarDelegate( |
- app_delegate, |
- app_name, |
- url)); |
- |
- return infobar_manager->AddInfoBar( |
- make_scoped_ptr(new AppBannerInfoBar(delegate.Pass(), url))); |
+ app_delegate)); |
+ AppBannerInfoBar* infobar = new AppBannerInfoBar(delegate.Pass(), url); |
+ return infobar_manager->AddInfoBar(make_scoped_ptr(infobar)) |
+ ? infobar : nullptr; |
} |
-AppBannerInfoBarDelegate::AppBannerInfoBarDelegate( |
- const AppDelegate* helper, |
- const base::string16& app_title, |
- const GURL& url) |
- : delegate_(helper), |
- app_title_(app_title), |
- url_(url), |
- button_text_(l10n_util::GetStringUTF16( |
- IDS_APP_INSTALL_ALERTS_ADD_TO_HOMESCREEN)) { |
+AppBannerInfoBarDelegate::AppBannerInfoBarDelegate(AppDelegate* app_delegate) |
+ : delegate_(app_delegate) { |
} |
AppBannerInfoBarDelegate::~AppBannerInfoBarDelegate() { |
+ DCHECK(delegate_); |
+ delegate_->OnInfoBarDestroyed(); |
} |
base::string16 AppBannerInfoBarDelegate::GetMessageText() const { |
- return app_title_; |
+ DCHECK(delegate_); |
+ return delegate_->GetTitle(); |
} |
int AppBannerInfoBarDelegate::GetButtons() const { |
return BUTTON_OK; |
} |
-base::string16 AppBannerInfoBarDelegate::GetButtonLabel(InfoBarButton button) |
- const { |
- return button_text_; |
-} |
- |
gfx::Image AppBannerInfoBarDelegate::GetIcon() const { |
DCHECK(delegate_); |
return delegate_->GetIcon(); |
@@ -67,8 +56,7 @@ void AppBannerInfoBarDelegate::InfoBarDismissed() { |
bool AppBannerInfoBarDelegate::Accept() { |
DCHECK(delegate_); |
- delegate_->Install(); |
- return true; |
+ return delegate_->OnButtonClicked(); |
} |
} // namespace banners |