Index: chrome/browser/android/banners/app_banner_manager.cc |
diff --git a/chrome/browser/android/banners/app_banner_manager.cc b/chrome/browser/android/banners/app_banner_manager.cc |
index a579f652fae1bddb26a61cc8fcadee0a5ed54ea8..6788b76f3b18da6d2d2b49a642973a2eb0522e39 100644 |
--- a/chrome/browser/android/banners/app_banner_manager.cc |
+++ b/chrome/browser/android/banners/app_banner_manager.cc |
@@ -8,6 +8,7 @@ |
#include "base/android/jni_string.h" |
#include "base/bind.h" |
#include "base/command_line.h" |
+#include "base/metrics/field_trial.h" |
#include "base/metrics/histogram.h" |
#include "chrome/browser/android/banners/app_banner_infobar_delegate.h" |
#include "chrome/browser/android/manifest_icon_selector.h" |
@@ -152,6 +153,9 @@ void AppBannerManager::OnDidGetManifest(const content::Manifest& manifest) { |
|| !manifest.start_url.is_valid() |
|| (manifest.name.is_null() && manifest.short_name.is_null())) { |
// No usable manifest, see if there is a play store meta tag. |
+ if (!IsEnabledForNativeApps()) |
+ return; |
+ |
Send(new ChromeViewMsg_RetrieveMetaTagContent(routing_id(), |
validated_url_, |
kBannerTag)); |
@@ -361,6 +365,12 @@ bool AppBannerManager::FetchIcon(const GURL& image_url) { |
} |
// static |
+bool AppBannerManager::IsEnabledForNativeApps() { |
+ return base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableAppInstallAlerts); |
+} |
+ |
+// static |
base::Time AppBannerManager::GetCurrentTime() { |
return base::Time::Now() + gTimeDeltaForTesting; |
} |
@@ -371,8 +381,9 @@ jlong Init(JNIEnv* env, jobject obj, jint icon_size) { |
} |
jboolean IsEnabled(JNIEnv* env, jclass clazz) { |
- return base::CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableAppInstallAlerts); |
+ const std::string group_name = |
+ base::FieldTrialList::FindFullName("AppBanners"); |
+ return group_name == "Enabled"; |
} |
void SetTimeDeltaForTesting(JNIEnv* env, jclass clazz, jint days) { |