Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Side by Side Diff: chrome/browser/android/shortcut_helper.cc

Issue 2689993002: Refactor the INSTALL_SHORTCUT broadcast code into ChromeShortcutManager (Closed)
Patch Set: Make some changes according to review comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 content::BrowserContext* browser_context, 71 content::BrowserContext* browser_context,
72 const ShortcutInfo& info, 72 const ShortcutInfo& info,
73 const std::string& webapp_id, 73 const std::string& webapp_id,
74 const SkBitmap& icon_bitmap, 74 const SkBitmap& icon_bitmap,
75 const base::Closure& splash_image_callback) { 75 const base::Closure& splash_image_callback) {
76 if (info.display == blink::WebDisplayModeStandalone || 76 if (info.display == blink::WebDisplayModeStandalone ||
77 info.display == blink::WebDisplayModeFullscreen) { 77 info.display == blink::WebDisplayModeFullscreen) {
78 AddWebappWithSkBitmap(info, webapp_id, icon_bitmap, splash_image_callback); 78 AddWebappWithSkBitmap(info, webapp_id, icon_bitmap, splash_image_callback);
79 return; 79 return;
80 } 80 }
81 AddShortcutWithSkBitmap(info, icon_bitmap); 81 AddShortcutWithSkBitmap(info, webapp_id, icon_bitmap);
82 } 82 }
83 83
84 // static 84 // static
85 void ShortcutHelper::InstallWebApkWithSkBitmap( 85 void ShortcutHelper::InstallWebApkWithSkBitmap(
86 content::BrowserContext* browser_context, 86 content::BrowserContext* browser_context,
87 const ShortcutInfo& info, 87 const ShortcutInfo& info,
88 const SkBitmap& icon_bitmap, 88 const SkBitmap& icon_bitmap,
89 const WebApkInstaller::FinishCallback& callback) { 89 const WebApkInstaller::FinishCallback& callback) {
90 WebApkInstallService::Get(browser_context) 90 WebApkInstallService::Get(browser_context)
91 ->InstallAsync(info, icon_bitmap, callback); 91 ->InstallAsync(info, icon_bitmap, callback);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 reinterpret_cast<uintptr_t>(new base::Closure(splash_image_callback)); 126 reinterpret_cast<uintptr_t>(new base::Closure(splash_image_callback));
127 127
128 Java_ShortcutHelper_addWebapp( 128 Java_ShortcutHelper_addWebapp(
129 env, java_webapp_id, java_url, java_scope_url, java_user_title, java_name, 129 env, java_webapp_id, java_url, java_scope_url, java_user_title, java_name,
130 java_short_name, java_best_primary_icon_url, java_bitmap, info.display, 130 java_short_name, java_best_primary_icon_url, java_bitmap, info.display,
131 info.orientation, info.source, info.theme_color, info.background_color, 131 info.orientation, info.source, info.theme_color, info.background_color,
132 callback_pointer); 132 callback_pointer);
133 } 133 }
134 134
135 void ShortcutHelper::AddShortcutWithSkBitmap(const ShortcutInfo& info, 135 void ShortcutHelper::AddShortcutWithSkBitmap(const ShortcutInfo& info,
136 const std::string& id,
136 const SkBitmap& icon_bitmap) { 137 const SkBitmap& icon_bitmap) {
137 JNIEnv* env = base::android::AttachCurrentThread(); 138 JNIEnv* env = base::android::AttachCurrentThread();
139 ScopedJavaLocalRef<jstring> java_id =
140 base::android::ConvertUTF8ToJavaString(env, id);
138 ScopedJavaLocalRef<jstring> java_url = 141 ScopedJavaLocalRef<jstring> java_url =
139 base::android::ConvertUTF8ToJavaString(env, info.url.spec()); 142 base::android::ConvertUTF8ToJavaString(env, info.url.spec());
140 ScopedJavaLocalRef<jstring> java_user_title = 143 ScopedJavaLocalRef<jstring> java_user_title =
141 base::android::ConvertUTF16ToJavaString(env, info.user_title); 144 base::android::ConvertUTF16ToJavaString(env, info.user_title);
142 ScopedJavaLocalRef<jobject> java_bitmap; 145 ScopedJavaLocalRef<jobject> java_bitmap;
143 if (icon_bitmap.getSize()) 146 if (icon_bitmap.getSize())
144 java_bitmap = gfx::ConvertToJavaBitmap(&icon_bitmap); 147 java_bitmap = gfx::ConvertToJavaBitmap(&icon_bitmap);
145 148
146 Java_ShortcutHelper_addShortcut(env, java_url, java_user_title, java_bitmap, 149 Java_ShortcutHelper_addShortcut(env, java_id, java_url, java_user_title,
147 info.source); 150 java_bitmap, info.source);
148 } 151 }
149 152
150 void ShortcutHelper::ShowWebApkInstallInProgressToast() { 153 void ShortcutHelper::ShowWebApkInstallInProgressToast() {
151 Java_ShortcutHelper_showWebApkInstallInProgressToast( 154 Java_ShortcutHelper_showWebApkInstallInProgressToast(
152 base::android::AttachCurrentThread()); 155 base::android::AttachCurrentThread());
153 } 156 }
154 157
155 int ShortcutHelper::GetIdealHomescreenIconSizeInPx() { 158 int ShortcutHelper::GetIdealHomescreenIconSizeInPx() {
156 if (g_ideal_homescreen_icon_size == -1) 159 if (g_ideal_homescreen_icon_size == -1)
157 GetHomescreenIconAndSplashImageSizes(); 160 GetHomescreenIconAndSplashImageSizes();
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 350
348 ShortcutHelper::WebApkInfoCallback* webapk_list_callback = 351 ShortcutHelper::WebApkInfoCallback* webapk_list_callback =
349 reinterpret_cast<ShortcutHelper::WebApkInfoCallback*>(jcallback_pointer); 352 reinterpret_cast<ShortcutHelper::WebApkInfoCallback*>(jcallback_pointer);
350 webapk_list_callback->Run(webapk_list); 353 webapk_list_callback->Run(webapk_list);
351 delete webapk_list_callback; 354 delete webapk_list_callback;
352 } 355 }
353 356
354 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) { 357 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) {
355 return RegisterNativesImpl(env); 358 return RegisterNativesImpl(env);
356 } 359 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698