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

Unified Diff: chrome/browser/android/banners/app_banner_infobar_delegate_android.cc

Issue 2676863002: Update WebApkInstaller to support badge icon in installation. (Closed)
Patch Set: Rebase Created 3 years, 9 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/android/banners/app_banner_infobar_delegate_android.cc
diff --git a/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc b/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc
index a68985446365aa46ba9efb12f860f9b0a6333878..473cf4e56742f4c8b6ac8e508fc8617ced97a1f4 100644
--- a/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc
+++ b/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc
@@ -51,15 +51,17 @@ bool AppBannerInfoBarDelegateAndroid::Create(
base::WeakPtr<AppBannerManager> weak_manager,
const base::string16& app_title,
std::unique_ptr<ShortcutInfo> shortcut_info,
- std::unique_ptr<SkBitmap> icon,
+ std::unique_ptr<SkBitmap> primary_icon,
+ std::unique_ptr<SkBitmap> badge_icon,
int event_request_id,
webapk::InstallSource webapk_install_source) {
bool is_webapk = ChromeWebApkHost::CanInstallWebApk();
const GURL url = shortcut_info->url;
auto infobar_delegate =
base::WrapUnique(new banners::AppBannerInfoBarDelegateAndroid(
- weak_manager, app_title, std::move(shortcut_info), std::move(icon),
- event_request_id, is_webapk, webapk_install_source));
+ weak_manager, app_title, std::move(shortcut_info),
+ std::move(primary_icon), std::move(badge_icon), event_request_id,
+ is_webapk, webapk_install_source));
auto* raw_delegate = infobar_delegate.get();
auto infobar = base::MakeUnique<AppBannerInfoBarAndroid>(
std::move(infobar_delegate), url, is_webapk);
@@ -208,14 +210,16 @@ AppBannerInfoBarDelegateAndroid::AppBannerInfoBarDelegateAndroid(
base::WeakPtr<AppBannerManager> weak_manager,
const base::string16& app_title,
std::unique_ptr<ShortcutInfo> shortcut_info,
- std::unique_ptr<SkBitmap> icon,
+ std::unique_ptr<SkBitmap> primary_icon,
+ std::unique_ptr<SkBitmap> badge_icon,
int event_request_id,
bool is_webapk,
webapk::InstallSource webapk_install_source)
: weak_manager_(weak_manager),
app_title_(app_title),
shortcut_info_(std::move(shortcut_info)),
- icon_(std::move(icon)),
+ primary_icon_(std::move(primary_icon)),
+ badge_icon_(std::move(badge_icon)),
event_request_id_(event_request_id),
has_user_interaction_(false),
is_webapk_(is_webapk),
@@ -235,7 +239,7 @@ AppBannerInfoBarDelegateAndroid::AppBannerInfoBarDelegateAndroid(
int event_request_id)
: app_title_(app_title),
native_app_data_(native_app_data),
- icon_(std::move(icon)),
+ primary_icon_(std::move(icon)),
native_app_package_(native_app_package),
referrer_(referrer),
event_request_id_(event_request_id),
@@ -285,7 +289,7 @@ bool AppBannerInfoBarDelegateAndroid::AcceptWebApp(
web_contents, shortcut_info_->url.spec(), AppBannerSettingsHelper::WEB);
ShortcutHelper::AddToLauncherWithSkBitmap(web_contents, *shortcut_info_,
- *icon_.get());
+ *primary_icon_.get());
SendBannerAccepted();
return true;
@@ -337,7 +341,9 @@ bool AppBannerInfoBarDelegateAndroid::AcceptWebApk(
base::Bind(&AppBannerInfoBarDelegateAndroid::OnWebApkInstallFinished,
weak_ptr_factory_.GetWeakPtr());
ShortcutHelper::InstallWebApkWithSkBitmap(web_contents, *shortcut_info_,
- *icon_.get(), callback);
+ *primary_icon_.get(),
+ *badge_icon_.get(), callback);
+
SendBannerAccepted();
// Prevent the infobar from disappearing, because the infobar will show
@@ -389,7 +395,7 @@ void AppBannerInfoBarDelegateAndroid::OnWebApkInstallFailed(
InfoBarService::WebContentsFromInfoBar(infobar());
// Add webapp shortcut to the homescreen.
ShortcutHelper::AddToLauncherWithSkBitmap(web_contents, *shortcut_info_,
- *icon_.get());
+ *primary_icon_.get());
}
infobar()->RemoveSelf();
@@ -414,7 +420,7 @@ AppBannerInfoBarDelegateAndroid::GetIdentifier() const {
}
gfx::Image AppBannerInfoBarDelegateAndroid::GetIcon() const {
- return gfx::Image::CreateFrom1xBitmap(*icon_.get());
+ return gfx::Image::CreateFrom1xBitmap(*primary_icon_.get());
}
void AppBannerInfoBarDelegateAndroid::InfoBarDismissed() {

Powered by Google App Engine
This is Rietveld 408576698