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

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

Issue 1312153003: jni_generator: Pass object parameters as JavaParamRef. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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
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 "chrome/browser/android/shortcut_info.h" 10 #include "chrome/browser/android/shortcut_info.h"
11 #include "chrome/browser/banners/app_banner_settings_helper.h" 11 #include "chrome/browser/banners/app_banner_settings_helper.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "components/rappor/rappor_utils.h" 13 #include "components/rappor/rappor_utils.h"
14 #include "content/public/browser/web_contents.h" 14 #include "content/public/browser/web_contents.h"
15 #include "jni/LaunchMetrics_jni.h" 15 #include "jni/LaunchMetrics_jni.h"
16 #include "url/gurl.h" 16 #include "url/gurl.h"
17 17
18 namespace metrics { 18 namespace metrics {
19 19
20 enum HomeScreenLaunch { 20 enum HomeScreenLaunch {
21 HOME_SCREEN_LAUNCH_STANDALONE = 0, 21 HOME_SCREEN_LAUNCH_STANDALONE = 0,
22 HOME_SCREEN_LAUNCH_SHORTCUT = 1, 22 HOME_SCREEN_LAUNCH_SHORTCUT = 1,
23 HOME_SCREEN_LAUNCH_COUNT = 2 23 HOME_SCREEN_LAUNCH_COUNT = 2
24 }; 24 };
25 25
26 bool RegisterLaunchMetrics(JNIEnv* env) { 26 bool RegisterLaunchMetrics(JNIEnv* env) {
27 return RegisterNativesImpl(env); 27 return RegisterNativesImpl(env);
28 } 28 }
29 29
30 static void RecordLaunch(JNIEnv* env, jclass caller, jboolean standalone, 30 static void RecordLaunch(JNIEnv* env,
31 jstring jurl, int source, jobject jweb_contents) { 31 const JavaParamRef<jclass>& caller,
32 jboolean standalone,
33 const JavaParamRef<jstring>& jurl,
34 int source,
35 const JavaParamRef<jobject>& jweb_contents) {
32 GURL url(base::android::ConvertJavaStringToUTF8(env, jurl)); 36 GURL url(base::android::ConvertJavaStringToUTF8(env, jurl));
33 37
34 content::WebContents* web_contents = 38 content::WebContents* web_contents =
35 content::WebContents::FromJavaWebContents(jweb_contents); 39 content::WebContents::FromJavaWebContents(jweb_contents);
36 if (web_contents && source == ShortcutInfo::SOURCE_APP_BANNER) { 40 if (web_contents && source == ShortcutInfo::SOURCE_APP_BANNER) {
37 // What a user has installed on the Home screen can become disconnected from 41 // What a user has installed on the Home screen can become disconnected from
38 // what Chrome believes is on the Home screen if the user clears their data. 42 // what Chrome believes is on the Home screen if the user clears their data.
39 // Use the launch as a signal that the shortcut still exists. 43 // Use the launch as a signal that the shortcut still exists.
40 AppBannerSettingsHelper::RecordBannerEvent( 44 AppBannerSettingsHelper::RecordBannerEvent(
41 web_contents, url, url.spec(), 45 web_contents, url, url.spec(),
(...skipping 25 matching lines...) Expand all
67 : "Launch.HomeScreen.Shortcut"; 71 : "Launch.HomeScreen.Shortcut";
68 72
69 UMA_HISTOGRAM_ENUMERATION("Launch.HomeScreen", action, 73 UMA_HISTOGRAM_ENUMERATION("Launch.HomeScreen", action,
70 HOME_SCREEN_LAUNCH_COUNT); 74 HOME_SCREEN_LAUNCH_COUNT);
71 75
72 rappor::SampleDomainAndRegistryFromGURL(g_browser_process->rappor_service(), 76 rappor::SampleDomainAndRegistryFromGURL(g_browser_process->rappor_service(),
73 rappor_metric_action, url); 77 rappor_metric_action, url);
74 } 78 }
75 79
76 }; // namespace metrics 80 }; // namespace metrics
OLDNEW
« no previous file with comments | « chrome/browser/android/logo_bridge.cc ('k') | chrome/browser/android/metrics/uma_session_stats.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698