| 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() {
|
| + 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) {
|
|
|