| Index: chrome/browser/android/metrics/launch_metrics.cc
|
| diff --git a/chrome/browser/android/metrics/launch_metrics.cc b/chrome/browser/android/metrics/launch_metrics.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8c64eef0b8648198c02cf75f145ceeae3d2aabd1
|
| --- /dev/null
|
| +++ b/chrome/browser/android/metrics/launch_metrics.cc
|
| @@ -0,0 +1,40 @@
|
| +// Copyright (c) 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/android/metrics/launch_metrics.h"
|
| +
|
| +#include "base/android/jni_string.h"
|
| +#include "base/metrics/histogram_macros.h"
|
| +#include "base/metrics/user_metrics.h"
|
| +#include "chrome/browser/metrics/rappor/sampling.h"
|
| +#include "jni/LaunchMetrics_jni.h"
|
| +#include "url/gurl.h"
|
| +
|
| +namespace metrics {
|
| +
|
| +enum HomeScreenLaunch {
|
| + HOME_SCREEN_LAUNCH_STANDALONE = 0,
|
| + HOME_SCREEN_LAUNCH_SHORTCUT = 1,
|
| + HOME_SCREEN_LAUNCH_COUNT = 2
|
| +};
|
| +
|
| +bool RegisterLaunchMetrics(JNIEnv* env) {
|
| + return RegisterNativesImpl(env);
|
| +}
|
| +
|
| +static void RecordLaunch(JNIEnv* env, jclass caller, jboolean standalone,
|
| + jstring jurl) {
|
| + int action = standalone ? HOME_SCREEN_LAUNCH_STANDALONE
|
| + : HOME_SCREEN_LAUNCH_SHORTCUT;
|
| + std::string rappor_metric = standalone ? "HomeScreen.LaunchURL.standalone"
|
| + : "HomeScreen.LaunchURL.shortcut";
|
| +
|
| + UMA_HISTOGRAM_ENUMERATION("HomeScreen.Launch", action,
|
| + HOME_SCREEN_LAUNCH_COUNT);
|
| +
|
| + std::string url = base::android::ConvertJavaStringToUTF8(env, jurl);
|
| + rappor::SampleDomainAndRegistryFromGURL(rappor_metric, GURL(url));
|
| +}
|
| +
|
| +}; // namespace metrics
|
|
|