Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: chrome/browser/android/metrics/launch_metrics.cc

Issue 2703213003: Revert "Improve the resolution of the menu item homescreen launch source metric." (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/android/shortcut_info.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/metrics/launch_metrics.h" 5 #include "chrome/browser/android/metrics/launch_metrics.h"
6 6
7 #include "base/android/jni_string.h" 7 #include "base/android/jni_string.h"
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/metrics/user_metrics.h" 9 #include "base/metrics/user_metrics.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 22 matching lines...) Expand all
33 bool RegisterLaunchMetrics(JNIEnv* env) { 33 bool RegisterLaunchMetrics(JNIEnv* env) {
34 return RegisterNativesImpl(env); 34 return RegisterNativesImpl(env);
35 } 35 }
36 36
37 static void RecordLaunch(JNIEnv* env, 37 static void RecordLaunch(JNIEnv* env,
38 const JavaParamRef<jclass>& caller, 38 const JavaParamRef<jclass>& caller,
39 jboolean standalone, 39 jboolean standalone,
40 const JavaParamRef<jstring>& jurl, 40 const JavaParamRef<jstring>& jurl,
41 int source, 41 int source,
42 const JavaParamRef<jobject>& jweb_contents) { 42 const JavaParamRef<jobject>& jweb_contents) {
43 // Interpolate the legacy ADD_TO_HOMESCREEN source into standalone/shortcut. 43 GURL url(base::android::ConvertJavaStringToUTF8(env, jurl));
44 // Unfortunately, we cannot concretely determine whether a standalone add to
45 // homescreen source means a full PWA (with service worker) or a site that has
46 // a manifest with display: standalone.
47 int histogram_source = source;
48 if (histogram_source == ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_DEPRECATED) {
49 if (standalone)
50 histogram_source = ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_STANDALONE;
51 else
52 histogram_source = ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_SHORTCUT;
53 }
54 44
55 GURL url(base::android::ConvertJavaStringToUTF8(env, jurl));
56 content::WebContents* web_contents = 45 content::WebContents* web_contents =
57 content::WebContents::FromJavaWebContents(jweb_contents); 46 content::WebContents::FromJavaWebContents(jweb_contents);
58 47 if (web_contents && source == ShortcutInfo::SOURCE_APP_BANNER) {
59 if (web_contents &&
60 (histogram_source == ShortcutInfo::SOURCE_APP_BANNER ||
61 histogram_source == ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_PWA)) {
62 // What a user has installed on the Home screen can become disconnected from 48 // What a user has installed on the Home screen can become disconnected from
63 // what Chrome believes is on the Home screen if the user clears their data. 49 // what Chrome believes is on the Home screen if the user clears their data.
64 // Use the launch as a signal that the shortcut still exists. 50 // Use the launch as a signal that the shortcut still exists.
65 AppBannerSettingsHelper::RecordBannerEvent( 51 AppBannerSettingsHelper::RecordBannerEvent(
66 web_contents, url, url.spec(), 52 web_contents, url, url.spec(),
67 AppBannerSettingsHelper::APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN, 53 AppBannerSettingsHelper::APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN,
68 base::Time::Now()); 54 base::Time::Now());
69 55
70 // Tell the Site Engagement Service about this launch as sites recently 56 // Tell the Site Engagement Service about this launch as sites recently
71 // launched from a shortcut receive a boost to their engagement. 57 // launched from a shortcut receive a boost to their engagement.
72 SiteEngagementService* service = SiteEngagementService::Get( 58 SiteEngagementService* service = SiteEngagementService::Get(
73 Profile::FromBrowserContext(web_contents->GetBrowserContext())); 59 Profile::FromBrowserContext(web_contents->GetBrowserContext()));
74 service->SetLastShortcutLaunchTime(url); 60 service->SetLastShortcutLaunchTime(url);
75 } 61 }
76 62
77 std::string rappor_metric_source; 63 std::string rappor_metric_source;
78 switch (histogram_source) { 64 if (source == ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN)
79 case ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_DEPRECATED: 65 rappor_metric_source = "Launch.HomeScreenSource.AddToHomeScreen";
80 case ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_PWA: 66 else if (source == ShortcutInfo::SOURCE_APP_BANNER)
81 case ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_STANDALONE: 67 rappor_metric_source = "Launch.HomeScreenSource.AppBanner";
82 case ShortcutInfo::SOURCE_ADD_TO_HOMESCREEN_SHORTCUT: 68 else if (source == ShortcutInfo::SOURCE_BOOKMARK_NAVIGATOR_WIDGET)
83 rappor_metric_source = "Launch.HomeScreenSource.AddToHomeScreen"; 69 rappor_metric_source = "Launch.HomeScreenSource.BookmarkNavigatorWidget";
84 break; 70 else if (source == ShortcutInfo::SOURCE_BOOKMARK_SHORTCUT_WIDGET)
85 case ShortcutInfo::SOURCE_APP_BANNER: 71 rappor_metric_source = "Launch.HomeScreenSource.BookmarkShortcutWidget";
86 rappor_metric_source = "Launch.HomeScreenSource.AppBanner"; 72 else
87 break; 73 rappor_metric_source = "Launch.HomeScreenSource.Unknown";
88 case ShortcutInfo::SOURCE_BOOKMARK_NAVIGATOR_WIDGET:
89 rappor_metric_source = "Launch.HomeScreenSource.BookmarkNavigatorWidget";
90 break;
91 case ShortcutInfo::SOURCE_BOOKMARK_SHORTCUT_WIDGET:
92 rappor_metric_source = "Launch.HomeScreenSource.BookmarkShortcutWidget";
93 break;
94 case ShortcutInfo::SOURCE_NOTIFICATION:
95 rappor_metric_source = "Launch.HomeScreenSource.Notification";
96 break;
97 case ShortcutInfo::SOURCE_UNKNOWN:
98 case ShortcutInfo::SOURCE_COUNT:
99 rappor_metric_source = "Launch.HomeScreenSource.Unknown";
100 break;
101 }
102 74
103 UMA_HISTOGRAM_ENUMERATION("Launch.HomeScreenSource", histogram_source, 75 UMA_HISTOGRAM_ENUMERATION("Launch.HomeScreenSource", source,
104 ShortcutInfo::SOURCE_COUNT); 76 ShortcutInfo::SOURCE_COUNT);
105 77
106 rappor::SampleDomainAndRegistryFromGURL(g_browser_process->rappor_service(), 78 rappor::SampleDomainAndRegistryFromGURL(g_browser_process->rappor_service(),
107 rappor_metric_source, url); 79 rappor_metric_source, url);
108 80
109 int action = standalone ? HOME_SCREEN_LAUNCH_STANDALONE 81 int action = standalone ? HOME_SCREEN_LAUNCH_STANDALONE
110 : HOME_SCREEN_LAUNCH_SHORTCUT; 82 : HOME_SCREEN_LAUNCH_SHORTCUT;
111 std::string rappor_metric_action = standalone ? "Launch.HomeScreen.Standalone" 83 std::string rappor_metric_action = standalone ? "Launch.HomeScreen.Standalone"
112 : "Launch.HomeScreen.Shortcut"; 84 : "Launch.HomeScreen.Shortcut";
113 85
(...skipping 11 matching lines...) Expand all
125 jboolean homepage_is_ntp, 97 jboolean homepage_is_ntp,
126 const JavaParamRef<jstring>& jhomepage_url) { 98 const JavaParamRef<jstring>& jhomepage_url) {
127 GURL homepage_url(base::android::ConvertJavaStringToUTF8(env, jhomepage_url)); 99 GURL homepage_url(base::android::ConvertJavaStringToUTF8(env, jhomepage_url));
128 PrefMetricsService::RecordHomePageLaunchMetrics( 100 PrefMetricsService::RecordHomePageLaunchMetrics(
129 show_home_button, 101 show_home_button,
130 homepage_is_ntp, 102 homepage_is_ntp,
131 homepage_url); 103 homepage_url);
132 } 104 }
133 105
134 }; // namespace metrics 106 }; // namespace metrics
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/android/shortcut_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698