summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordominickn <dominickn@chromium.org>2015-07-24 15:30:57 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-24 22:31:44 +0000
commit231b309132dfc4ca55c8f84201e2062d7e9cd8c8 (patch)
tree6bd2ace879f1e2dc5f8c66831d2aa746b254a011
parent494c8a9c316fcec9b170826dd60e5ec30f9c6c92 (diff)
downloadchromium_src-231b309132dfc4ca55c8f84201e2062d7e9cd8c8.zip
chromium_src-231b309132dfc4ca55c8f84201e2062d7e9cd8c8.tar.gz
chromium_src-231b309132dfc4ca55c8f84201e2062d7e9cd8c8.tar.bz2
Differentiate native and web app display events in app banner UMA.
This allows us to distinguish between how often native and web app banners are being created and displayed to users. BUG=512898 R=dfalcantara Review URL: https://codereview.chromium.org/1250353002 Cr-Commit-Position: refs/heads/master@{#340355}
-rw-r--r--chrome/browser/android/banners/app_banner_data_fetcher_android.cc9
-rw-r--r--chrome/browser/android/banners/app_banner_manager_android.cc2
-rw-r--r--chrome/browser/banners/app_banner_data_fetcher.cc3
-rw-r--r--chrome/browser/banners/app_banner_data_fetcher_desktop.cc2
-rw-r--r--chrome/browser/banners/app_banner_metrics.h6
-rw-r--r--tools/metrics/histograms/histograms.xml4
6 files changed, 20 insertions, 6 deletions
diff --git a/chrome/browser/android/banners/app_banner_data_fetcher_android.cc b/chrome/browser/android/banners/app_banner_data_fetcher_android.cc
index eaba3f1..cb96a9e 100644
--- a/chrome/browser/android/banners/app_banner_data_fetcher_android.cc
+++ b/chrome/browser/android/banners/app_banner_data_fetcher_android.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/android/banners/app_banner_data_fetcher_android.h"
#include "chrome/browser/android/banners/app_banner_infobar_delegate_android.h"
+#include "chrome/browser/banners/app_banner_metrics.h"
#include "chrome/browser/infobars/infobar_service.h"
#include "chrome/browser/ui/android/infobars/app_banner_infobar_android.h"
#include "third_party/skia/include/core/SkBitmap.h"
@@ -55,16 +56,20 @@ void AppBannerDataFetcherAndroid::ShowBanner(const SkBitmap* icon,
infobar =
new AppBannerInfoBarAndroid(delegate.Pass(), web_app_data().start_url);
- if (infobar)
+ if (infobar) {
RecordDidShowBanner("AppBanner.WebApp.Shown");
+ TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED);
+ }
} else {
scoped_ptr<AppBannerInfoBarDelegateAndroid> delegate(
new AppBannerInfoBarDelegateAndroid(
event_request_id(), title, new SkBitmap(*icon), native_app_data_,
native_app_package_));
infobar = new AppBannerInfoBarAndroid(delegate.Pass(), native_app_data_);
- if (infobar)
+ if (infobar) {
RecordDidShowBanner("AppBanner.NativeApp.Shown");
+ TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED);
+ }
}
InfoBarService::FromWebContents(web_contents)
->AddInfoBar(make_scoped_ptr(infobar));
diff --git a/chrome/browser/android/banners/app_banner_manager_android.cc b/chrome/browser/android/banners/app_banner_manager_android.cc
index 0c9e52c..357d362 100644
--- a/chrome/browser/android/banners/app_banner_manager_android.cc
+++ b/chrome/browser/android/banners/app_banner_manager_android.cc
@@ -55,7 +55,7 @@ bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform,
if (!CheckPlatformAndId(platform, id))
return false;
- banners::TrackDisplayEvent(DISPLAY_EVENT_BANNER_REQUESTED);
+ banners::TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_REQUESTED);
// Send the info to the Java side to get info about the app.
JNIEnv* env = base::android::AttachCurrentThread();
diff --git a/chrome/browser/banners/app_banner_data_fetcher.cc b/chrome/browser/banners/app_banner_data_fetcher.cc
index c61385b..6734f4b 100644
--- a/chrome/browser/banners/app_banner_data_fetcher.cc
+++ b/chrome/browser/banners/app_banner_data_fetcher.cc
@@ -250,7 +250,6 @@ void AppBannerDataFetcher::RecordDidShowBanner(const std::string& event_name) {
rappor::SampleDomainAndRegistryFromGURL(g_browser_process->rappor_service(),
event_name,
web_contents->GetURL());
- banners::TrackDisplayEvent(DISPLAY_EVENT_CREATED);
}
void AppBannerDataFetcher::OnDidGetManifest(
@@ -291,7 +290,7 @@ void AppBannerDataFetcher::OnDidGetManifest(
return;
}
- banners::TrackDisplayEvent(DISPLAY_EVENT_BANNER_REQUESTED);
+ banners::TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_REQUESTED);
// Check to see if there is a single service worker controlling this page
// and the manifest's start url.
diff --git a/chrome/browser/banners/app_banner_data_fetcher_desktop.cc b/chrome/browser/banners/app_banner_data_fetcher_desktop.cc
index 2d95445..db04c39 100644
--- a/chrome/browser/banners/app_banner_data_fetcher_desktop.cc
+++ b/chrome/browser/banners/app_banner_data_fetcher_desktop.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/banners/app_banner_data_fetcher_desktop.h"
#include "chrome/browser/banners/app_banner_infobar_delegate_desktop.h"
+#include "chrome/browser/banners/app_banner_metrics.h"
#include "chrome/browser/banners/app_banner_settings_helper.h"
#include "chrome/browser/extensions/bookmark_app_helper.h"
#include "chrome/browser/profiles/profile.h"
@@ -56,6 +57,7 @@ void AppBannerDataFetcherDesktop::ShowBanner(const SkBitmap* icon,
bookmark_app_helper_.get(), event_request_id());
if (infobar) {
RecordDidShowBanner("AppBanner.WebApp.Shown");
+ TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED);
}
}
diff --git a/chrome/browser/banners/app_banner_metrics.h b/chrome/browser/banners/app_banner_metrics.h
index 3ae1912..aced73b 100644
--- a/chrome/browser/banners/app_banner_metrics.h
+++ b/chrome/browser/banners/app_banner_metrics.h
@@ -18,7 +18,11 @@ enum DisplayEvent {
DISPLAY_EVENT_IGNORED_PREVIOUSLY = 6,
DISPLAY_EVENT_LACKS_SERVICE_WORKER = 7,
DISPLAY_EVENT_NOT_VISITED_ENOUGH = 8,
- DISPLAY_EVENT_MAX = 9,
+ DISPLAY_EVENT_NATIVE_APP_BANNER_REQUESTED = 9,
+ DISPLAY_EVENT_WEB_APP_BANNER_REQUESTED = 10,
+ DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED = 11,
+ DISPLAY_EVENT_WEB_APP_BANNER_CREATED = 12,
+ DISPLAY_EVENT_MAX = 13,
};
enum InstallEvent {
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 5fbb97d..924df2f 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -50564,6 +50564,10 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<int value="6" label="User ignored the banner last time"/>
<int value="7" label="Manifest lacks a service worker"/>
<int value="8" label="Site hasn't been visited frequently enough"/>
+ <int value="9" label="Native app banner was requested by the site"/>
+ <int value="10" label="Web app banner was requested by the site"/>
+ <int value="11" label="Native app banner created"/>
+ <int value="12" label="Web app banner created"/>
</enum>
<enum name="AppBannersInstallEvent" type="int">