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..b19588a2afacb96f3b21d499c5a45523b5ca62aa 100644 |
--- a/chrome/browser/android/banners/app_banner_manager_android.cc |
+++ b/chrome/browser/android/banners/app_banner_manager_android.cc |
@@ -8,6 +8,7 @@ |
#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" |
@@ -18,6 +19,7 @@ |
#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 +40,12 @@ const char kReferrerName[] = "referrer"; |
const char kIdName[] = "id"; |
const char kPlayInlineReferrer[] = "playinline=chrome_inline"; |
+bool isWebApk(const GURL& start_url) { |
+ const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess(); |
Xi Han
2016/08/19 12:50:09
I will change the command line check in another CL
|
+ bool enable_webapk = cmdline->HasSwitch(switches::kEnableWebApk); |
+ return enable_webapk && start_url.SchemeIs("https"); |
+} |
+ |
} // anonymous namespace |
namespace banners { |
@@ -177,17 +185,24 @@ void AppBannerManagerAndroid::ShowBanner() { |
infobars::InfoBar* infobar = nullptr; |
if (native_app_data_.is_null()) { |
+ bool is_webapk = isWebApk(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); |
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); |
} |