| 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 d412295b02671d8201d68b80f1e28bfc9b532d94..555fc480f7adf892be1613fd938596591d868eb9 100644
|
| --- a/chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc
|
| +++ b/chrome/browser/android/webapps/add_to_homescreen_dialog_helper.cc
|
| @@ -30,6 +30,12 @@ jlong Initialize(JNIEnv* env,
|
| return reinterpret_cast<intptr_t>(add_to_homescreen_helper);
|
| }
|
|
|
| +// static
|
| +bool AddToHomescreenDialogHelper::RegisterAddToHomescreenDialogHelper(
|
| + JNIEnv* env) {
|
| + return RegisterNativesImpl(env);
|
| +}
|
| +
|
| AddToHomescreenDialogHelper::AddToHomescreenDialogHelper(
|
| JNIEnv* env,
|
| jobject obj,
|
| @@ -44,48 +50,11 @@ AddToHomescreenDialogHelper::AddToHomescreenDialogHelper(
|
| java_ref_.Reset(env, obj);
|
| }
|
|
|
| -AddToHomescreenDialogHelper::~AddToHomescreenDialogHelper() {
|
| - data_fetcher_->set_weak_observer(nullptr);
|
| - data_fetcher_ = nullptr;
|
| -}
|
| -
|
| -void AddToHomescreenDialogHelper::OnUserTitleAvailable(
|
| - const base::string16& user_title) {
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - ScopedJavaLocalRef<jstring> j_user_title =
|
| - base::android::ConvertUTF16ToJavaString(env, user_title);
|
| - Java_AddToHomescreenDialogHelper_onUserTitleAvailable(env, java_ref_,
|
| - j_user_title);
|
| -}
|
| -
|
| -void AddToHomescreenDialogHelper::OnDataAvailable(const ShortcutInfo& info,
|
| - const SkBitmap& icon) {
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - ScopedJavaLocalRef<jobject> java_bitmap;
|
| - if (icon.getSize())
|
| - java_bitmap = gfx::ConvertToJavaBitmap(&icon);
|
| -
|
| - Java_AddToHomescreenDialogHelper_onIconAvailable(env, java_ref_, java_bitmap);
|
| -
|
| - if (add_shortcut_pending_)
|
| - AddShortcut(info, icon);
|
| -}
|
| -
|
| void AddToHomescreenDialogHelper::Destroy(JNIEnv* env,
|
| const JavaParamRef<jobject>& obj) {
|
| delete this;
|
| }
|
|
|
| -SkBitmap AddToHomescreenDialogHelper::FinalizeLauncherIconInBackground(
|
| - const SkBitmap& bitmap,
|
| - const GURL& url,
|
| - bool* is_generated) {
|
| - DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| -
|
| - return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url,
|
| - is_generated);
|
| -}
|
| -
|
| void AddToHomescreenDialogHelper::AddShortcut(
|
| JNIEnv* env,
|
| const JavaParamRef<jobject>& obj,
|
| @@ -104,6 +73,11 @@ void AddToHomescreenDialogHelper::AddShortcut(
|
| }
|
| }
|
|
|
| +AddToHomescreenDialogHelper::~AddToHomescreenDialogHelper() {
|
| + data_fetcher_->set_weak_observer(nullptr);
|
| + data_fetcher_ = nullptr;
|
| +}
|
| +
|
| void AddToHomescreenDialogHelper::AddShortcut(const ShortcutInfo& info,
|
| const SkBitmap& icon) {
|
| DCHECK(add_shortcut_pending_);
|
| @@ -123,11 +97,6 @@ void AddToHomescreenDialogHelper::AddShortcut(const ShortcutInfo& info,
|
| data_fetcher_->FetchSplashScreenImageCallback(uid));
|
| }
|
|
|
| -bool AddToHomescreenDialogHelper::RegisterAddToHomescreenDialogHelper(
|
| - JNIEnv* env) {
|
| - return RegisterNativesImpl(env);
|
| -}
|
| -
|
| void AddToHomescreenDialogHelper::RecordAddToHomescreen() {
|
| // Record that the shortcut has been added, so no banners will be shown
|
| // for this app.
|
| @@ -141,3 +110,35 @@ void AddToHomescreenDialogHelper::RecordAddToHomescreen() {
|
| AppBannerSettingsHelper::APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN,
|
| base::Time::Now());
|
| }
|
| +
|
| +void AddToHomescreenDialogHelper::OnUserTitleAvailable(
|
| + const base::string16& user_title) {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + ScopedJavaLocalRef<jstring> j_user_title =
|
| + base::android::ConvertUTF16ToJavaString(env, user_title);
|
| + Java_AddToHomescreenDialogHelper_onUserTitleAvailable(env, java_ref_,
|
| + j_user_title);
|
| +}
|
| +
|
| +void AddToHomescreenDialogHelper::OnDataAvailable(const ShortcutInfo& info,
|
| + const SkBitmap& icon) {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + ScopedJavaLocalRef<jobject> java_bitmap;
|
| + if (icon.getSize())
|
| + java_bitmap = gfx::ConvertToJavaBitmap(&icon);
|
| +
|
| + Java_AddToHomescreenDialogHelper_onIconAvailable(env, java_ref_, java_bitmap);
|
| +
|
| + if (add_shortcut_pending_)
|
| + AddShortcut(info, icon);
|
| +}
|
| +
|
| +SkBitmap AddToHomescreenDialogHelper::FinalizeLauncherIconInBackground(
|
| + const SkBitmap& bitmap,
|
| + const GURL& url,
|
| + bool* is_generated) {
|
| + DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| +
|
| + return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url,
|
| + is_generated);
|
| +}
|
|
|