Index: chrome/browser/banners/app_banner_settings_helper.cc |
diff --git a/chrome/browser/banners/app_banner_settings_helper.cc b/chrome/browser/banners/app_banner_settings_helper.cc |
index ad25487f89ae72c520c9095211d61b3546644127..995eaa40815fb6428f43e7475843080dc7e54a22 100644 |
--- a/chrome/browser/banners/app_banner_settings_helper.cc |
+++ b/chrome/browser/banners/app_banner_settings_helper.cc |
@@ -19,6 +19,7 @@ |
#include "chrome/browser/banners/app_banner_metrics.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
+#include "chrome/browser/installable/installable_logging.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/common/chrome_switches.h" |
#include "components/content_settings/core/browser/host_content_settings_map.h" |
@@ -386,14 +387,17 @@ bool AppBannerSettingsHelper::ShouldShowBanner( |
} |
// Never show a banner when the package name or URL is empty. |
- if (package_name_or_start_url.empty()) |
+ if (package_name_or_start_url.empty()) { |
+ banners::TrackInstallableErrorCode(PACKAGE_NAME_OR_START_URL_EMPTY); |
return false; |
+ } |
// Don't show if it has been added to the homescreen. |
base::Time added_time = |
GetSingleBannerEvent(web_contents, origin_url, package_name_or_start_url, |
APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN); |
if (!added_time.is_null()) { |
+ banners::TrackInstallableErrorCode(ALREADY_INSTALLED); |
banners::TrackDisplayEvent(banners::DISPLAY_EVENT_INSTALLED_PREVIOUSLY); |
return false; |
} |
@@ -406,6 +410,7 @@ bool AppBannerSettingsHelper::ShouldShowBanner( |
// null events will always be greater than the limits. |
if (time - blocked_time < |
base::TimeDelta::FromDays(kMinimumBannerBlockedToBannerShown)) { |
+ banners::TrackInstallableErrorCode(PREVIOUSLY_BLOCKED); |
banners::TrackDisplayEvent(banners::DISPLAY_EVENT_BLOCKED_PREVIOUSLY); |
return false; |
} |
@@ -415,6 +420,7 @@ bool AppBannerSettingsHelper::ShouldShowBanner( |
APP_BANNER_EVENT_DID_SHOW); |
if (time - shown_time < |
base::TimeDelta::FromDays(kMinimumDaysBetweenBannerShows)) { |
+ banners::TrackInstallableErrorCode(PREVIOUSLY_IGNORED); |
banners::TrackDisplayEvent(banners::DISPLAY_EVENT_IGNORED_PREVIOUSLY); |
return false; |
} |
@@ -437,6 +443,7 @@ bool AppBannerSettingsHelper::ShouldShowBanner( |
total_engagement += event.engagement; |
if (!HasSufficientEngagement(total_engagement)) { |
+ banners::TrackInstallableErrorCode(INSUFFICIENT_ENGAGEMENT); |
banners::TrackDisplayEvent(banners::DISPLAY_EVENT_NOT_VISITED_ENOUGH); |
return false; |
} |