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 d7ba9c2dc61d2f8311e06b84d11a1c68bc62bbea..57853e49d69d42ef95a4de06acd61eab9fa42ff2 100644 |
--- a/chrome/browser/android/banners/app_banner_manager_android.cc |
+++ b/chrome/browser/android/banners/app_banner_manager_android.cc |
@@ -12,6 +12,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/android/banners/app_banner_infobar_delegate_android.h" |
#include "chrome/browser/android/shortcut_helper.h" |
+#include "chrome/browser/android/shortcut_info.h" |
#include "chrome/browser/android/webapk/chrome_webapk_host.h" |
#include "chrome/browser/android/webapk/webapk_web_manifest_checker.h" |
#include "chrome/browser/banners/app_banner_metrics.h" |
@@ -188,9 +189,10 @@ void AppBannerManagerAndroid::ShowBanner() { |
infobars::InfoBar* infobar = nullptr; |
if (native_app_data_.is_null()) { |
bool is_webapk = ChromeWebApkHost::AreWebApkEnabled(); |
+ std::unique_ptr<ShortcutInfo> info = CreateShortcutInfo(); |
std::unique_ptr<AppBannerInfoBarDelegateAndroid> delegate( |
new AppBannerInfoBarDelegateAndroid( |
- GetWeakPtr(), app_title_, manifest_url_, manifest_, icon_url_, |
+ GetWeakPtr(), app_title_, manifest_url_, std::move(info), icon_url_, |
std::move(icon_), event_request_id(), is_webapk)); |
infobar = new AppBannerInfoBarAndroid( |
@@ -224,6 +226,17 @@ void AppBannerManagerAndroid::ShowBanner() { |
} |
} |
+std::unique_ptr<ShortcutInfo> AppBannerManagerAndroid::CreateShortcutInfo() { |
dominickn
2016/09/01 05:22:00
Put this method in the anonymous namespace in AppB
Xi Han
2016/09/01 18:44:14
Done.
|
+ std::unique_ptr<ShortcutInfo> info_ptr(new ShortcutInfo(GURL::EmptyGURL())); |
+ if (manifest_.IsEmpty()) |
+ return info_ptr; |
+ info_ptr->UpdateFromManifest(manifest_); |
+ info_ptr->manifest_url = manifest_url_; |
+ info_ptr->icon_url = icon_url_; |
+ info_ptr->UpdateSource(ShortcutInfo::SOURCE_APP_BANNER); |
+ return info_ptr; |
+} |
+ |
bool AppBannerManagerAndroid::CanHandleNonWebApp(const std::string& platform, |
const GURL& url, |
const std::string& id) { |