Chromium Code Reviews| Index: chrome/browser/android/banners/app_banner_manager_android.cc |
| diff --git a/chrome/browser/android/banners/app_banner_manager_android.cc b/chrome/browser/android/banners/app_banner_manager_android.cc |
| index b25d564d663b6d50cfd32691a46bfdb8d2285565..a5addaabc5c973c784e997a7f580a90fb9f2ee7a 100644 |
| --- a/chrome/browser/android/banners/app_banner_manager_android.cc |
| +++ b/chrome/browser/android/banners/app_banner_manager_android.cc |
| @@ -8,16 +8,19 @@ |
| #include "base/android/jni_android.h" |
| #include "base/android/jni_string.h" |
| +#include "base/command_line.h" |
| #include "base/memory/ptr_util.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "chrome/browser/android/banners/app_banner_infobar_delegate_android.h" |
| #include "chrome/browser/android/shortcut_helper.h" |
| +#include "chrome/browser/android/webapk/chrome_webapk_host.h" |
| #include "chrome/browser/banners/app_banner_metrics.h" |
| #include "chrome/browser/infobars/infobar_service.h" |
| #include "chrome/browser/manifest/manifest_icon_downloader.h" |
| #include "chrome/browser/manifest/manifest_icon_selector.h" |
| #include "chrome/browser/ui/android/infobars/app_banner_infobar_android.h" |
| #include "chrome/common/chrome_constants.h" |
| +#include "chrome/common/chrome_switches.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/common/frame_navigate_params.h" |
| #include "jni/AppBannerManager_jni.h" |
| @@ -38,6 +41,10 @@ const char kReferrerName[] = "referrer"; |
| const char kIdName[] = "id"; |
| const char kPlayInlineReferrer[] = "playinline=chrome_inline"; |
| +bool AreWebApkEnabled(const GURL& start_url) { |
| + return ChromeWebApkHost::AreWebApkEnabled(); |
|
dominickn
2016/08/25 04:25:56
Remove this method and just call ChromeWebApkHost:
Xi Han
2016/08/26 17:04:17
Done.
|
| +} |
| + |
| } // anonymous namespace |
| namespace banners { |
| @@ -177,17 +184,24 @@ void AppBannerManagerAndroid::ShowBanner() { |
| infobars::InfoBar* infobar = nullptr; |
| if (native_app_data_.is_null()) { |
| + bool is_webapk = AreWebApkEnabled(manifest_.start_url); |
| std::unique_ptr<AppBannerInfoBarDelegateAndroid> delegate( |
| new AppBannerInfoBarDelegateAndroid( |
| GetWeakPtr(), app_title_, manifest_url_, manifest_, icon_url_, |
| - std::move(icon_), event_request_id())); |
| + std::move(icon_), event_request_id(), is_webapk)); |
| - infobar = new AppBannerInfoBarAndroid(std::move(delegate), |
| - manifest_.start_url); |
| + infobar = new AppBannerInfoBarAndroid( |
| + std::move(delegate), manifest_.start_url, is_webapk); |
| if (infobar) { |
| - RecordDidShowBanner("AppBanner.WebApp.Shown"); |
| - TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED); |
| - ReportStatus(contents, SHOWING_WEB_APP_BANNER); |
| + if (is_webapk) { |
| + RecordDidShowBanner("AppBanner.WebApk.Shown"); |
| + TrackDisplayEvent(DISPLAY_EVENT_WEBAPK_BANNER_CREATED); |
| + ReportStatus(contents, SHOWING_WEBAPK_BANNER); |
| + } else { |
| + RecordDidShowBanner("AppBanner.WebApp.Shown"); |
| + TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED); |
| + ReportStatus(contents, SHOWING_WEB_APP_BANNER); |
| + } |
| } else { |
| ReportStatus(contents, FAILED_TO_CREATE_BANNER); |
| } |