| 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 "chrome/browser/android/banners/app_banner_infobar_delegate_android.h" | 5 #include "chrome/browser/android/banners/app_banner_infobar_delegate_android.h" |
| 6 | 6 |
| 7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
| 8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
| 9 #include "base/guid.h" | 9 #include "base/guid.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 using base::android::ConvertJavaStringToUTF16; | 34 using base::android::ConvertJavaStringToUTF16; |
| 35 using base::android::ConvertUTF8ToJavaString; | 35 using base::android::ConvertUTF8ToJavaString; |
| 36 using base::android::ConvertUTF16ToJavaString; | 36 using base::android::ConvertUTF16ToJavaString; |
| 37 | 37 |
| 38 namespace banners { | 38 namespace banners { |
| 39 | 39 |
| 40 AppBannerInfoBarDelegateAndroid::AppBannerInfoBarDelegateAndroid( | 40 AppBannerInfoBarDelegateAndroid::AppBannerInfoBarDelegateAndroid( |
| 41 int event_request_id, | 41 int event_request_id, |
| 42 scoped_refptr<AppBannerDataFetcherAndroid> data_fetcher, | 42 scoped_refptr<AppBannerDataFetcherAndroid> data_fetcher, |
| 43 const base::string16& app_title, | 43 const base::string16& app_title, |
| 44 const GURL& app_icon_url, |
| 44 SkBitmap* app_icon, | 45 SkBitmap* app_icon, |
| 45 const content::Manifest& web_app_data) | 46 const content::Manifest& web_app_data) |
| 46 : data_fetcher_(data_fetcher), | 47 : data_fetcher_(data_fetcher), |
| 47 app_title_(app_title), | 48 app_title_(app_title), |
| 49 app_icon_url_(app_icon_url), |
| 48 app_icon_(app_icon), | 50 app_icon_(app_icon), |
| 49 event_request_id_(event_request_id), | 51 event_request_id_(event_request_id), |
| 50 web_app_data_(web_app_data), | 52 web_app_data_(web_app_data), |
| 51 has_user_interaction_(false) { | 53 has_user_interaction_(false) { |
| 52 DCHECK(!web_app_data.IsEmpty()); | 54 DCHECK(!web_app_data.IsEmpty()); |
| 53 CreateJavaDelegate(); | 55 CreateJavaDelegate(); |
| 54 } | 56 } |
| 55 | 57 |
| 56 AppBannerInfoBarDelegateAndroid::AppBannerInfoBarDelegateAndroid( | 58 AppBannerInfoBarDelegateAndroid::AppBannerInfoBarDelegateAndroid( |
| 57 int event_request_id, | 59 int event_request_id, |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 AppBannerSettingsHelper::WEB); | 250 AppBannerSettingsHelper::WEB); |
| 249 | 251 |
| 250 ShortcutInfo info(GURL::EmptyGURL()); | 252 ShortcutInfo info(GURL::EmptyGURL()); |
| 251 info.UpdateFromManifest(web_app_data_); | 253 info.UpdateFromManifest(web_app_data_); |
| 252 info.UpdateSource(ShortcutInfo::SOURCE_APP_BANNER); | 254 info.UpdateSource(ShortcutInfo::SOURCE_APP_BANNER); |
| 253 | 255 |
| 254 const std::string& uid = base::GenerateGUID(); | 256 const std::string& uid = base::GenerateGUID(); |
| 255 content::BrowserThread::PostTask( | 257 content::BrowserThread::PostTask( |
| 256 content::BrowserThread::IO, FROM_HERE, | 258 content::BrowserThread::IO, FROM_HERE, |
| 257 base::Bind(&ShortcutHelper::AddShortcutInBackgroundWithSkBitmap, info, | 259 base::Bind(&ShortcutHelper::AddShortcutInBackgroundWithSkBitmap, info, |
| 258 uid, *app_icon_.get(), | 260 uid, app_icon_url_, *app_icon_.get(), |
| 259 data_fetcher_->FetchWebappSplashScreenImageCallback(uid))); | 261 data_fetcher_->FetchWebappSplashScreenImageCallback(uid))); |
| 260 | 262 |
| 261 SendBannerAccepted(web_contents, "web"); | 263 SendBannerAccepted(web_contents, "web"); |
| 262 return true; | 264 return true; |
| 263 } | 265 } |
| 264 | 266 |
| 265 return true; | 267 return true; |
| 266 } | 268 } |
| 267 | 269 |
| 268 bool AppBannerInfoBarDelegateAndroid::LinkClicked( | 270 bool AppBannerInfoBarDelegateAndroid::LinkClicked( |
| (...skipping 20 matching lines...) Expand all Loading... |
| 289 | 291 |
| 290 TrackDismissEvent(DISMISS_EVENT_BANNER_CLICK); | 292 TrackDismissEvent(DISMISS_EVENT_BANNER_CLICK); |
| 291 return true; | 293 return true; |
| 292 } | 294 } |
| 293 | 295 |
| 294 bool RegisterAppBannerInfoBarDelegateAndroid(JNIEnv* env) { | 296 bool RegisterAppBannerInfoBarDelegateAndroid(JNIEnv* env) { |
| 295 return RegisterNativesImpl(env); | 297 return RegisterNativesImpl(env); |
| 296 } | 298 } |
| 297 | 299 |
| 298 } // namespace banners | 300 } // namespace banners |
| OLD | NEW |