OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/android/shortcut_helper.h" | 5 #include "chrome/browser/android/shortcut_helper.h" |
6 | 6 |
7 #include <jni.h> | 7 #include <jni.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 content::BrowserContext* browser_context, | 72 content::BrowserContext* browser_context, |
73 const ShortcutInfo& info, | 73 const ShortcutInfo& info, |
74 const std::string& webapp_id, | 74 const std::string& webapp_id, |
75 const SkBitmap& icon_bitmap, | 75 const SkBitmap& icon_bitmap, |
76 const base::Closure& splash_image_callback) { | 76 const base::Closure& splash_image_callback) { |
77 if (info.display == blink::WebDisplayModeStandalone || | 77 if (info.display == blink::WebDisplayModeStandalone || |
78 info.display == blink::WebDisplayModeFullscreen) { | 78 info.display == blink::WebDisplayModeFullscreen) { |
79 AddWebappWithSkBitmap(info, webapp_id, icon_bitmap, splash_image_callback); | 79 AddWebappWithSkBitmap(info, webapp_id, icon_bitmap, splash_image_callback); |
80 return; | 80 return; |
81 } | 81 } |
82 AddShortcutWithSkBitmap(info, icon_bitmap); | 82 AddShortcutWithSkBitmap(info, webapp_id, icon_bitmap); |
83 } | 83 } |
84 | 84 |
85 // static | 85 // static |
86 void ShortcutHelper::InstallWebApkWithSkBitmap( | 86 void ShortcutHelper::InstallWebApkWithSkBitmap( |
87 content::BrowserContext* browser_context, | 87 content::BrowserContext* browser_context, |
88 const ShortcutInfo& info, | 88 const ShortcutInfo& info, |
89 const SkBitmap& icon_bitmap, | 89 const SkBitmap& icon_bitmap, |
90 const WebApkInstaller::FinishCallback& callback) { | 90 const WebApkInstaller::FinishCallback& callback) { |
91 WebApkInstallService::Get(browser_context) | 91 WebApkInstallService::Get(browser_context) |
92 ->InstallAsync(info, icon_bitmap, callback); | 92 ->InstallAsync(info, icon_bitmap, callback); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 reinterpret_cast<uintptr_t>(new base::Closure(splash_image_callback)); | 127 reinterpret_cast<uintptr_t>(new base::Closure(splash_image_callback)); |
128 | 128 |
129 Java_ShortcutHelper_addWebapp( | 129 Java_ShortcutHelper_addWebapp( |
130 env, java_webapp_id, java_url, java_scope_url, java_user_title, java_name, | 130 env, java_webapp_id, java_url, java_scope_url, java_user_title, java_name, |
131 java_short_name, java_best_primary_icon_url, java_bitmap, info.display, | 131 java_short_name, java_best_primary_icon_url, java_bitmap, info.display, |
132 info.orientation, info.source, info.theme_color, info.background_color, | 132 info.orientation, info.source, info.theme_color, info.background_color, |
133 callback_pointer); | 133 callback_pointer); |
134 } | 134 } |
135 | 135 |
136 void ShortcutHelper::AddShortcutWithSkBitmap(const ShortcutInfo& info, | 136 void ShortcutHelper::AddShortcutWithSkBitmap(const ShortcutInfo& info, |
| 137 const std::string& id, |
137 const SkBitmap& icon_bitmap) { | 138 const SkBitmap& icon_bitmap) { |
138 JNIEnv* env = base::android::AttachCurrentThread(); | 139 JNIEnv* env = base::android::AttachCurrentThread(); |
| 140 ScopedJavaLocalRef<jstring> java_id = |
| 141 base::android::ConvertUTF8ToJavaString(env, id); |
139 ScopedJavaLocalRef<jstring> java_url = | 142 ScopedJavaLocalRef<jstring> java_url = |
140 base::android::ConvertUTF8ToJavaString(env, info.url.spec()); | 143 base::android::ConvertUTF8ToJavaString(env, info.url.spec()); |
141 ScopedJavaLocalRef<jstring> java_user_title = | 144 ScopedJavaLocalRef<jstring> java_user_title = |
142 base::android::ConvertUTF16ToJavaString(env, info.user_title); | 145 base::android::ConvertUTF16ToJavaString(env, info.user_title); |
143 ScopedJavaLocalRef<jobject> java_bitmap; | 146 ScopedJavaLocalRef<jobject> java_bitmap; |
144 if (icon_bitmap.getSize()) | 147 if (icon_bitmap.getSize()) |
145 java_bitmap = gfx::ConvertToJavaBitmap(&icon_bitmap); | 148 java_bitmap = gfx::ConvertToJavaBitmap(&icon_bitmap); |
146 | 149 |
147 Java_ShortcutHelper_addShortcut(env, java_url, java_user_title, java_bitmap, | 150 Java_ShortcutHelper_addShortcut(env, java_id, java_url, java_user_title, |
148 info.source); | 151 java_bitmap, info.source); |
149 } | 152 } |
150 | 153 |
151 void ShortcutHelper::ShowWebApkInstallInProgressToast() { | 154 void ShortcutHelper::ShowWebApkInstallInProgressToast() { |
152 Java_ShortcutHelper_showWebApkInstallInProgressToast( | 155 Java_ShortcutHelper_showWebApkInstallInProgressToast( |
153 base::android::AttachCurrentThread()); | 156 base::android::AttachCurrentThread()); |
154 } | 157 } |
155 | 158 |
156 int ShortcutHelper::GetIdealHomescreenIconSizeInPx() { | 159 int ShortcutHelper::GetIdealHomescreenIconSizeInPx() { |
157 if (g_ideal_homescreen_icon_size == -1) | 160 if (g_ideal_homescreen_icon_size == -1) |
158 GetHomescreenIconAndSplashImageSizes(); | 161 GetHomescreenIconAndSplashImageSizes(); |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 | 351 |
349 ShortcutHelper::WebApkInfoCallback* webapk_list_callback = | 352 ShortcutHelper::WebApkInfoCallback* webapk_list_callback = |
350 reinterpret_cast<ShortcutHelper::WebApkInfoCallback*>(jcallback_pointer); | 353 reinterpret_cast<ShortcutHelper::WebApkInfoCallback*>(jcallback_pointer); |
351 webapk_list_callback->Run(webapk_list); | 354 webapk_list_callback->Run(webapk_list); |
352 delete webapk_list_callback; | 355 delete webapk_list_callback; |
353 } | 356 } |
354 | 357 |
355 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) { | 358 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) { |
356 return RegisterNativesImpl(env); | 359 return RegisterNativesImpl(env); |
357 } | 360 } |
OLD | NEW |