diff options
author | dominickn <dominickn@chromium.org> | 2015-07-24 15:30:57 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-24 22:31:44 +0000 |
commit | 231b309132dfc4ca55c8f84201e2062d7e9cd8c8 (patch) | |
tree | 6bd2ace879f1e2dc5f8c66831d2aa746b254a011 | |
parent | 494c8a9c316fcec9b170826dd60e5ec30f9c6c92 (diff) | |
download | chromium_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}
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"> |