Rename GetIconID to GetIconId
[chromium-blink-merge.git] / chrome / browser / android / shortcut_helper.cc
blob4c7a38362706a7fd0fec07b057b764b8327d084a
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
3 // found in the LICENSE file.
5 #include "chrome/browser/android/shortcut_helper.h"
7 #include <jni.h>
9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h"
11 #include "base/basictypes.h"
12 #include "base/location.h"
13 #include "base/strings/string16.h"
14 #include "base/strings/utf_string_conversions.h"
15 #include "chrome/browser/banners/app_banner_settings_helper.h"
16 #include "content/public/browser/browser_thread.h"
17 #include "content/public/browser/web_contents.h"
18 #include "content/public/common/manifest.h"
19 #include "jni/ShortcutHelper_jni.h"
20 #include "ui/gfx/android/java_bitmap.h"
21 #include "ui/gfx/color_analysis.h"
22 #include "url/gurl.h"
24 using content::Manifest;
26 // static
27 void ShortcutHelper::AddShortcutInBackgroundWithSkBitmap(
28 const ShortcutInfo& info,
29 const SkBitmap& icon_bitmap) {
30 DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
32 // Send the data to the Java side to create the shortcut.
33 JNIEnv* env = base::android::AttachCurrentThread();
34 ScopedJavaLocalRef<jstring> java_url =
35 base::android::ConvertUTF8ToJavaString(env, info.url.spec());
36 ScopedJavaLocalRef<jstring> java_user_title =
37 base::android::ConvertUTF16ToJavaString(env, info.user_title);
38 ScopedJavaLocalRef<jstring> java_name =
39 base::android::ConvertUTF16ToJavaString(env, info.name);
40 ScopedJavaLocalRef<jstring> java_short_name =
41 base::android::ConvertUTF16ToJavaString(env, info.short_name);
42 ScopedJavaLocalRef<jobject> java_bitmap;
43 if (icon_bitmap.getSize())
44 java_bitmap = gfx::ConvertToJavaBitmap(&icon_bitmap);
46 Java_ShortcutHelper_addShortcut(
47 env,
48 base::android::GetApplicationContext(),
49 java_url.obj(),
50 java_user_title.obj(),
51 java_name.obj(),
52 java_short_name.obj(),
53 java_bitmap.obj(),
54 info.display == blink::WebDisplayModeStandalone,
55 info.orientation,
56 info.source,
57 info.theme_color,
58 info.background_color);
61 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) {
62 return RegisterNativesImpl(env);