| 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 <utility> | 7 #include <utility> |
| 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" |
| 11 #include "base/location.h" | 11 #include "base/location.h" |
| 12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
| 13 #include "chrome/browser/android/shortcut_helper.h" | 13 #include "chrome/browser/android/shortcut_helper.h" |
| 14 #include "chrome/browser/android/shortcut_info.h" | 14 #include "chrome/browser/android/shortcut_info.h" |
| 15 #include "chrome/browser/android/tab_android.h" | 15 #include "chrome/browser/android/tab_android.h" |
| 16 #include "chrome/browser/android/webapk/chrome_webapk_host.h" | |
| 17 #include "chrome/browser/android/webapk/webapk_install_service.h" | 16 #include "chrome/browser/android/webapk/webapk_install_service.h" |
| 18 #include "chrome/browser/banners/app_banner_manager.h" | 17 #include "chrome/browser/banners/app_banner_manager.h" |
| 19 #include "chrome/browser/banners/app_banner_metrics.h" | 18 #include "chrome/browser/banners/app_banner_metrics.h" |
| 20 #include "chrome/browser/banners/app_banner_settings_helper.h" | 19 #include "chrome/browser/banners/app_banner_settings_helper.h" |
| 21 #include "chrome/browser/browser_process.h" | 20 #include "chrome/browser/browser_process.h" |
| 22 #include "chrome/browser/infobars/infobar_service.h" | 21 #include "chrome/browser/infobars/infobar_service.h" |
| 23 #include "chrome/browser/ui/android/infobars/app_banner_infobar_android.h" | 22 #include "chrome/browser/ui/android/infobars/app_banner_infobar_android.h" |
| 24 #include "components/rappor/public/rappor_utils.h" | 23 #include "components/rappor/public/rappor_utils.h" |
| 25 #include "components/rappor/rappor_service_impl.h" | 24 #include "components/rappor/rappor_service_impl.h" |
| 26 #include "content/public/browser/web_contents.h" | 25 #include "content/public/browser/web_contents.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 48 | 47 |
| 49 // static | 48 // static |
| 50 bool AppBannerInfoBarDelegateAndroid::Create( | 49 bool AppBannerInfoBarDelegateAndroid::Create( |
| 51 content::WebContents* web_contents, | 50 content::WebContents* web_contents, |
| 52 base::WeakPtr<AppBannerManager> weak_manager, | 51 base::WeakPtr<AppBannerManager> weak_manager, |
| 53 const base::string16& app_title, | 52 const base::string16& app_title, |
| 54 std::unique_ptr<ShortcutInfo> shortcut_info, | 53 std::unique_ptr<ShortcutInfo> shortcut_info, |
| 55 const SkBitmap& primary_icon, | 54 const SkBitmap& primary_icon, |
| 56 const SkBitmap& badge_icon, | 55 const SkBitmap& badge_icon, |
| 57 int event_request_id, | 56 int event_request_id, |
| 57 bool is_webapk, |
| 58 webapk::InstallSource webapk_install_source) { | 58 webapk::InstallSource webapk_install_source) { |
| 59 bool is_webapk = ChromeWebApkHost::CanInstallWebApk(); | |
| 60 const GURL url = shortcut_info->url; | 59 const GURL url = shortcut_info->url; |
| 61 auto infobar_delegate = | 60 auto infobar_delegate = |
| 62 base::WrapUnique(new banners::AppBannerInfoBarDelegateAndroid( | 61 base::WrapUnique(new banners::AppBannerInfoBarDelegateAndroid( |
| 63 weak_manager, app_title, std::move(shortcut_info), primary_icon, | 62 weak_manager, app_title, std::move(shortcut_info), primary_icon, |
| 64 badge_icon, event_request_id, is_webapk, webapk_install_source)); | 63 badge_icon, event_request_id, is_webapk, webapk_install_source)); |
| 65 auto* raw_delegate = infobar_delegate.get(); | 64 auto* raw_delegate = infobar_delegate.get(); |
| 66 auto infobar = base::MakeUnique<AppBannerInfoBarAndroid>( | 65 auto infobar = base::MakeUnique<AppBannerInfoBarAndroid>( |
| 67 std::move(infobar_delegate), url, is_webapk); | 66 std::move(infobar_delegate), url, is_webapk); |
| 68 if (!InfoBarService::FromWebContents(web_contents) | 67 if (!InfoBarService::FromWebContents(web_contents) |
| 69 ->AddInfoBar(std::move(infobar))) | 68 ->AddInfoBar(std::move(infobar))) |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 | 466 |
| 468 TrackDismissEvent(DISMISS_EVENT_BANNER_CLICK); | 467 TrackDismissEvent(DISMISS_EVENT_BANNER_CLICK); |
| 469 return true; | 468 return true; |
| 470 } | 469 } |
| 471 | 470 |
| 472 bool RegisterAppBannerInfoBarDelegateAndroid(JNIEnv* env) { | 471 bool RegisterAppBannerInfoBarDelegateAndroid(JNIEnv* env) { |
| 473 return RegisterNativesImpl(env); | 472 return RegisterNativesImpl(env); |
| 474 } | 473 } |
| 475 | 474 |
| 476 } // namespace banners | 475 } // namespace banners |
| OLD | NEW |