OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <utility> | 5 #include <utility> |
6 | 6 |
7 #include "chrome/browser/android/banners/app_banner_manager_android.h" | 7 #include "chrome/browser/android/banners/app_banner_manager_android.h" |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 namespace banners { | 43 namespace banners { |
44 | 44 |
45 AppBannerManagerAndroid::AppBannerManagerAndroid( | 45 AppBannerManagerAndroid::AppBannerManagerAndroid( |
46 content::WebContents* web_contents) | 46 content::WebContents* web_contents) |
47 : AppBannerManager(web_contents) { | 47 : AppBannerManager(web_contents) { |
48 CreateJavaBannerManager(); | 48 CreateJavaBannerManager(); |
49 } | 49 } |
50 | 50 |
51 AppBannerManagerAndroid::~AppBannerManagerAndroid() { | 51 AppBannerManagerAndroid::~AppBannerManagerAndroid() { |
52 JNIEnv* env = base::android::AttachCurrentThread(); | 52 JNIEnv* env = base::android::AttachCurrentThread(); |
53 Java_AppBannerManager_destroy(env, java_banner_manager_.obj()); | 53 Java_AppBannerManager_destroy(env, java_banner_manager_); |
54 java_banner_manager_.Reset(); | 54 java_banner_manager_.Reset(); |
55 } | 55 } |
56 | 56 |
57 base::Closure AppBannerManagerAndroid::FetchWebappSplashScreenImageCallback( | 57 base::Closure AppBannerManagerAndroid::FetchWebappSplashScreenImageCallback( |
58 const std::string& webapp_id) { | 58 const std::string& webapp_id) { |
59 content::WebContents* contents = web_contents(); | 59 content::WebContents* contents = web_contents(); |
60 DCHECK(contents); | 60 DCHECK(contents); |
61 | 61 |
62 int ideal_splash_image_size_in_dp = | 62 int ideal_splash_image_size_in_dp = |
63 ShortcutHelper::GetIdealSplashImageSizeInDp(); | 63 ShortcutHelper::GetIdealSplashImageSizeInDp(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 97 |
98 return ManifestIconDownloader::Download( | 98 return ManifestIconDownloader::Download( |
99 web_contents(), icon_url_, GetIdealIconSizeInDp(), | 99 web_contents(), icon_url_, GetIdealIconSizeInDp(), |
100 GetMinimumIconSizeInDp(), | 100 GetMinimumIconSizeInDp(), |
101 base::Bind(&AppBannerManager::OnAppIconFetched, GetWeakPtr())); | 101 base::Bind(&AppBannerManager::OnAppIconFetched, GetWeakPtr())); |
102 } | 102 } |
103 | 103 |
104 void AppBannerManagerAndroid::RequestAppBanner(const GURL& validated_url, | 104 void AppBannerManagerAndroid::RequestAppBanner(const GURL& validated_url, |
105 bool is_debug_mode) { | 105 bool is_debug_mode) { |
106 JNIEnv* env = base::android::AttachCurrentThread(); | 106 JNIEnv* env = base::android::AttachCurrentThread(); |
107 if (!Java_AppBannerManager_isEnabledForTab(env, java_banner_manager_.obj())) | 107 if (!Java_AppBannerManager_isEnabledForTab(env, java_banner_manager_)) |
108 return; | 108 return; |
109 | 109 |
110 AppBannerManager::RequestAppBanner(validated_url, is_debug_mode); | 110 AppBannerManager::RequestAppBanner(validated_url, is_debug_mode); |
111 } | 111 } |
112 | 112 |
113 std::string AppBannerManagerAndroid::GetAppIdentifier() { | 113 std::string AppBannerManagerAndroid::GetAppIdentifier() { |
114 return native_app_data_.is_null() ? AppBannerManager::GetAppIdentifier() | 114 return native_app_data_.is_null() ? AppBannerManager::GetAppIdentifier() |
115 : native_app_package_; | 115 : native_app_package_; |
116 } | 116 } |
117 | 117 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 // is non empty. | 238 // is non empty. |
239 if (referrer.empty()) | 239 if (referrer.empty()) |
240 referrer = kPlayInlineReferrer; | 240 referrer = kPlayInlineReferrer; |
241 else | 241 else |
242 referrer.append("&").append(kPlayInlineReferrer); | 242 referrer.append("&").append(kPlayInlineReferrer); |
243 | 243 |
244 ScopedJavaLocalRef<jstring> jurl( | 244 ScopedJavaLocalRef<jstring> jurl( |
245 ConvertUTF8ToJavaString(env, validated_url_.spec())); | 245 ConvertUTF8ToJavaString(env, validated_url_.spec())); |
246 ScopedJavaLocalRef<jstring> jpackage(ConvertUTF8ToJavaString(env, id)); | 246 ScopedJavaLocalRef<jstring> jpackage(ConvertUTF8ToJavaString(env, id)); |
247 ScopedJavaLocalRef<jstring> jreferrer(ConvertUTF8ToJavaString(env, referrer)); | 247 ScopedJavaLocalRef<jstring> jreferrer(ConvertUTF8ToJavaString(env, referrer)); |
248 Java_AppBannerManager_fetchAppDetails( | 248 Java_AppBannerManager_fetchAppDetails(env, java_banner_manager_, jurl, |
249 env, java_banner_manager_.obj(), jurl.obj(), jpackage.obj(), | 249 jpackage, jreferrer, |
250 jreferrer.obj(), GetIdealIconSizeInDp()); | 250 GetIdealIconSizeInDp()); |
251 return true; | 251 return true; |
252 } | 252 } |
253 | 253 |
254 void AppBannerManagerAndroid::CreateJavaBannerManager() { | 254 void AppBannerManagerAndroid::CreateJavaBannerManager() { |
255 JNIEnv* env = base::android::AttachCurrentThread(); | 255 JNIEnv* env = base::android::AttachCurrentThread(); |
256 java_banner_manager_.Reset( | 256 java_banner_manager_.Reset( |
257 Java_AppBannerManager_create(env, reinterpret_cast<intptr_t>(this))); | 257 Java_AppBannerManager_create(env, reinterpret_cast<intptr_t>(this))); |
258 } | 258 } |
259 | 259 |
260 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, | 260 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform, |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 } | 320 } |
321 | 321 |
322 // static | 322 // static |
323 void SetTimeDeltaForTesting(JNIEnv* env, | 323 void SetTimeDeltaForTesting(JNIEnv* env, |
324 const JavaParamRef<jclass>& clazz, | 324 const JavaParamRef<jclass>& clazz, |
325 jint days) { | 325 jint days) { |
326 AppBannerManager::SetTimeDeltaForTesting(days); | 326 AppBannerManager::SetTimeDeltaForTesting(days); |
327 } | 327 } |
328 | 328 |
329 } // namespace banners | 329 } // namespace banners |
OLD | NEW |