| Index: chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc
|
| diff --git a/chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc b/chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc
|
| index 658cd3d1824f1a4448cdf4cd33a5b6d4b004e920..a206314e8c9cbd353a61f8dec6534d98bd551d6c 100644
|
| --- a/chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc
|
| +++ b/chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/android/jni_android.h"
|
| #include "base/android/jni_string.h"
|
| #include "base/basictypes.h"
|
| +#include "base/guid.h"
|
| #include "base/location.h"
|
| #include "base/strings/string16.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -26,19 +27,28 @@ using content::Manifest;
|
|
|
| jlong Initialize(JNIEnv* env,
|
| const JavaParamRef<jobject>& obj,
|
| - const JavaParamRef<jobject>& java_web_contents) {
|
| + const JavaParamRef<jobject>& java_web_contents,
|
| + jint ideal_splash_image_size_in_dp,
|
| + jint ideal_icon_size_in_dp) {
|
| content::WebContents* web_contents =
|
| content::WebContents::FromJavaWebContents(java_web_contents);
|
| AddToHomescreenDialogHelper* add_to_homescreen_helper =
|
| - new AddToHomescreenDialogHelper(env, obj, web_contents);
|
| + new AddToHomescreenDialogHelper(env, obj, web_contents,
|
| + ideal_splash_image_size_in_dp, ideal_icon_size_in_dp);
|
| return reinterpret_cast<intptr_t>(add_to_homescreen_helper);
|
| }
|
|
|
| -AddToHomescreenDialogHelper::AddToHomescreenDialogHelper(JNIEnv* env,
|
| - jobject obj,
|
| - content::WebContents* web_contents)
|
| +AddToHomescreenDialogHelper::AddToHomescreenDialogHelper(
|
| + JNIEnv* env,
|
| + jobject obj,
|
| + content::WebContents* web_contents,
|
| + int ideal_splash_image_size_in_dp,
|
| + int ideal_icon_size_in_dp)
|
| : add_shortcut_pending_(false),
|
| - data_fetcher_(new AddToHomescreenDataFetcher(web_contents, this)) {
|
| + data_fetcher_(new AddToHomescreenDataFetcher(web_contents,
|
| + ideal_splash_image_size_in_dp,
|
| + ideal_icon_size_in_dp,
|
| + this)) {
|
| java_ref_.Reset(env, obj);
|
| }
|
|
|
| @@ -58,7 +68,7 @@ void AddToHomescreenDialogHelper::OnUserTitleAvailable(
|
| }
|
|
|
| void AddToHomescreenDialogHelper::OnDataAvailable(const ShortcutInfo& info,
|
| - const SkBitmap& icon) {
|
| + const SkBitmap& icon) {
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| ScopedJavaLocalRef<jobject> java_bitmap;
|
| if (icon.getSize())
|
| @@ -124,7 +134,7 @@ void AddToHomescreenDialogHelper::AddShortcut(JNIEnv* env,
|
| }
|
|
|
| void AddToHomescreenDialogHelper::AddShortcut(const ShortcutInfo& info,
|
| - const SkBitmap& icon) {
|
| + const SkBitmap& icon) {
|
| DCHECK(add_shortcut_pending_);
|
| if (!add_shortcut_pending_)
|
| return;
|
| @@ -132,12 +142,16 @@ void AddToHomescreenDialogHelper::AddShortcut(const ShortcutInfo& info,
|
|
|
| RecordAddToHomescreen();
|
|
|
| + const std::string& uid = base::GenerateGUID();
|
| content::BrowserThread::PostTask(
|
| content::BrowserThread::IO,
|
| FROM_HERE,
|
| base::Bind(&ShortcutHelper::AddShortcutInBackgroundWithSkBitmap,
|
| info,
|
| + uid,
|
| icon));
|
| +
|
| + data_fetcher_->FetchSplashScreenImage(uid);
|
| }
|
|
|
| bool AddToHomescreenDialogHelper::RegisterAddToHomescreenDialogHelper(
|
|
|