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

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

Issue 2685363002: Update AppBannerManager & AppBannerManagerAndroid to request badge icon. (Closed)
Patch Set: Created 3 years, 10 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_manager_android.cc
diff --git a/chrome/browser/android/banners/app_banner_manager_android.cc b/chrome/browser/android/banners/app_banner_manager_android.cc
index 9d0bff156b5fc44d03887cd125dde2cd50ce8f01..2fd15f924eed1e8c46a0340185619ddddd9b2bb8 100644
--- a/chrome/browser/android/banners/app_banner_manager_android.cc
+++ b/chrome/browser/android/banners/app_banner_manager_android.cc
@@ -39,12 +39,12 @@ namespace {
std::unique_ptr<ShortcutInfo> CreateShortcutInfo(
const GURL& manifest_url,
const content::Manifest& manifest,
- const GURL& icon_url) {
+ const GURL& primary_icon_url) {
auto shortcut_info = base::MakeUnique<ShortcutInfo>(GURL());
if (!manifest.IsEmpty()) {
shortcut_info->UpdateFromManifest(manifest);
shortcut_info->manifest_url = manifest_url;
- shortcut_info->best_primary_icon_url = icon_url;
+ shortcut_info->best_primary_icon_url = primary_icon_url;
shortcut_info->UpdateSource(ShortcutInfo::SOURCE_APP_BANNER);
}
return shortcut_info;
@@ -106,14 +106,14 @@ bool AppBannerManagerAndroid::OnAppDetailsRetrieved(
native_app_data_.Reset(japp_data);
app_title_ = ConvertJavaStringToUTF16(env, japp_title);
native_app_package_ = ConvertJavaStringToUTF8(env, japp_package);
- icon_url_ = GURL(ConvertJavaStringToUTF8(env, jicon_url));
+ primary_icon_url_ = GURL(ConvertJavaStringToUTF8(env, jicon_url));
if (!CheckIfShouldShowBanner())
return false;
return ManifestIconDownloader::Download(
- web_contents(), icon_url_, GetIdealIconSizeInPx(),
- GetMinimumIconSizeInPx(),
+ web_contents(), primary_icon_url_, GetIdealPrimaryIconSizeInPx(),
+ GetMinimumPrimaryIconSizeInPx(),
base::Bind(&AppBannerManager::OnAppIconFetched, GetWeakPtr()));
}
@@ -136,14 +136,18 @@ std::string AppBannerManagerAndroid::GetBannerType() {
: "play";
}
-int AppBannerManagerAndroid::GetIdealIconSizeInPx() {
+int AppBannerManagerAndroid::GetIdealPrimaryIconSizeInPx() {
return ShortcutHelper::GetIdealHomescreenIconSizeInPx();
}
-int AppBannerManagerAndroid::GetMinimumIconSizeInPx() {
+int AppBannerManagerAndroid::GetMinimumPrimaryIconSizeInPx() {
return ShortcutHelper::GetMinimumHomescreenIconSizeInPx();
}
+int AppBannerManagerAndroid::GetIdealBadgeIconSizeInPx() {
+ return ShortcutHelper::GetIdealBadgeIconSizeInPx();
dominickn 2017/02/14 00:01:16 Since this is gated on WebAPKs, is there a way to
F 2017/02/14 19:22:42 Done.
+}
+
bool AppBannerManagerAndroid::IsWebAppInstalled(
content::BrowserContext* browser_context,
const GURL& start_url,
@@ -193,7 +197,7 @@ void AppBannerManagerAndroid::OnAppIconFetched(const SkBitmap& bitmap) {
if (!is_active())
return;
- icon_.reset(new SkBitmap(bitmap));
+ primary_icon_.reset(new SkBitmap(bitmap));
SendBannerPromptRequest();
}
@@ -208,10 +212,11 @@ void AppBannerManagerAndroid::ShowBanner() {
DCHECK(contents);
if (native_app_data_.is_null()) {
+ // TODO(zpeng): Add badge to WebAPK installation flow.
if (AppBannerInfoBarDelegateAndroid::Create(
contents, GetWeakPtr(), app_title_,
- CreateShortcutInfo(manifest_url_, manifest_, icon_url_),
- std::move(icon_), event_request_id(),
+ CreateShortcutInfo(manifest_url_, manifest_, primary_icon_url_),
+ std::move(primary_icon_), event_request_id(),
webapk::INSTALL_SOURCE_BANNER)) {
RecordDidShowBanner("AppBanner.WebApp.Shown");
TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED);
@@ -221,7 +226,7 @@ void AppBannerManagerAndroid::ShowBanner() {
}
} else {
if (AppBannerInfoBarDelegateAndroid::Create(
- contents, app_title_, native_app_data_, std::move(icon_),
+ contents, app_title_, native_app_data_, std::move(primary_icon_),
native_app_package_, referrer_, event_request_id())) {
RecordDidShowBanner("AppBanner.NativeApp.Shown");
TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED);
@@ -264,7 +269,7 @@ bool AppBannerManagerAndroid::CanHandleNonWebApp(const std::string& platform,
ScopedJavaLocalRef<jstring> jreferrer(ConvertUTF8ToJavaString(env, referrer));
Java_AppBannerManager_fetchAppDetails(env, java_banner_manager_, jurl,
jpackage, jreferrer,
- GetIdealIconSizeInPx());
+ GetIdealPrimaryIconSizeInPx());
return true;
}

Powered by Google App Engine
This is Rietveld 408576698