Chromium Code Reviews| Index: chrome/browser/android/shortcut_helper.cc |
| diff --git a/chrome/browser/android/shortcut_helper.cc b/chrome/browser/android/shortcut_helper.cc |
| index 00ccdb87411e72814c04f9307df1a01e9be38688..1f023180a05ffb2c5773803c6fc6e935e94ccc69 100644 |
| --- a/chrome/browser/android/shortcut_helper.cc |
| +++ b/chrome/browser/android/shortcut_helper.cc |
| @@ -23,6 +23,7 @@ |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/browser/web_contents_observer.h" |
| #include "content/public/common/frame_navigate_params.h" |
| +#include "content/public/common/manifest.h" |
| #include "jni/ShortcutHelper_jni.h" |
| #include "ui/gfx/android/java_bitmap.h" |
| #include "ui/gfx/codec/png_codec.h" |
| @@ -71,6 +72,25 @@ void ShortcutHelper::OnDidGetWebApplicationInfo( |
| title_ = web_app_info.title.empty() ? web_contents()->GetTitle() |
| : web_app_info.title; |
| + web_contents()->GetManifest(base::Bind(&ShortcutHelper::OnDidGetManifest, |
| + base::Unretained(this))); |
|
Miguel Garcia
2014/09/17 09:02:42
why base::unretained? wouldn't it be better to use
mlamouri (slow - plz ping)
2014/09/17 10:51:04
Very good point. I wonder if I should introduce a
|
| +} |
| + |
| +void ShortcutHelper::OnDidGetManifest(const content::Manifest& manifest) { |
| + // Set the title based on the manifest value, if any. |
| + if (!manifest.short_name.is_null()) |
| + title_ = manifest.short_name.string(); |
| + else if (!manifest.name.is_null()) |
| + title_ = manifest.name.string(); |
| + |
| + // Set the url based on the manifest value, if any. |
| + if (manifest.start_url.is_valid()) |
| + url_ = manifest.start_url; |
| + |
| + // The ShortcutHelper is now able to notify its Java counterpart that it is |
| + // initialized. OnInitialized method is not conceptually part of getting the |
| + // manifest data but it happens that the initialization is finalized when |
| + // these data are available. |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
| ScopedJavaLocalRef<jstring> j_title = |