Index: chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc |
diff --git a/chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc b/chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc |
index cb82d2b7c8fc20197ffeb42be58648b24e7026cb..56e1f11d3cef5bfdad8198caa569c5ff94c752ec 100644 |
--- a/chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc |
+++ b/chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc |
@@ -7,7 +7,9 @@ |
#include <jni.h> |
#include "base/android/jni_string.h" |
+#include "chrome/browser/android/shortcut_helper.h" |
#include "chrome/browser/android/shortcut_info.h" |
+#include "chrome/browser/manifest/manifest_icon_selector.h" |
#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/manifest.h" |
@@ -111,6 +113,14 @@ void ManifestUpgradeDetectorFetcher::OnDidGetManifest( |
info.UpdateFromManifest(manifest); |
info.manifest_url = manifest_url; |
+ int ideal_homescreen_icon_size_in_dp = |
+ ShortcutHelper::GetIdealHomescreenIconSizeInDp(); |
+ int minimum_homescreen_icon_size_in_dp = |
+ ShortcutHelper::GetMinimumHomescreenIconSizeInDp(); |
+ info.icon_url = ManifestIconSelector::FindBestMatchingIcon( |
+ manifest.icons, ideal_homescreen_icon_size_in_dp, |
+ minimum_homescreen_icon_size_in_dp); |
+ |
OnDataAvailable(info); |
} |
@@ -125,6 +135,8 @@ void ManifestUpgradeDetectorFetcher::OnDataAvailable(const ShortcutInfo& info) { |
base::android::ConvertUTF16ToJavaString(env, info.name); |
ScopedJavaLocalRef<jstring> java_short_name = |
base::android::ConvertUTF16ToJavaString(env, info.short_name); |
+ ScopedJavaLocalRef<jstring> java_icon_url = |
+ base::android::ConvertUTF8ToJavaString(env, info.icon_url.spec()); |
Java_ManifestUpgradeDetectorFetcher_onDataAvailable( |
env, java_ref_.obj(), |
@@ -132,6 +144,7 @@ void ManifestUpgradeDetectorFetcher::OnDataAvailable(const ShortcutInfo& info) { |
java_scope.obj(), |
java_name.obj(), |
java_short_name.obj(), |
+ java_icon_url.obj(), |
info.display, |
info.orientation, |
info.theme_color, |