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 #ifndef CHROME_BROWSER_ANDROID_SHORTCUT_HELPER_H_
6 #define CHROME_BROWSER_ANDROID_SHORTCUT_HELPER_H_
8 #include "base/android/jni_android.h"
9 #include "base/android/jni_weak_ref.h"
10 #include "chrome/browser/android/shortcut_info.h"
11 #include "third_party/skia/include/core/SkBitmap.h"
15 } // namespace content
17 // ShortcutHelper is the C++ counterpart of org.chromium.chrome.browser's
18 // ShortcutHelper in Java.
19 class ShortcutHelper
{
21 // Registers JNI hooks.
22 static bool RegisterShortcutHelper(JNIEnv
* env
);
24 // Adds a shortcut to the launcher using a SkBitmap.
25 // Must be called on the IO thread.
26 static void AddShortcutInBackgroundWithSkBitmap(const ShortcutInfo
& info
,
27 const std::string
& webapp_id
,
28 const SkBitmap
& icon_bitmap
);
30 // Fetches the splash screen image and stores it inside the WebappDataStorage
32 static void FetchSplashScreenImage(content::WebContents
* web_contents
,
33 const GURL
& image_url
,
34 const int ideal_splash_image_size_in_dp
,
35 const std::string
& webapp_id
);
37 // Stores the data of the webapp which is not placed inside the shortcut.
38 static void StoreWebappData(const std::string
& webapp_id
,
39 const SkBitmap
& splash_image
);
42 ShortcutHelper() = delete;
43 ~ShortcutHelper() = delete;
45 DISALLOW_COPY_AND_ASSIGN(ShortcutHelper
);
48 #endif // CHROME_BROWSER_ANDROID_SHORTCUT_HELPER_H_