| // Copyright 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 "base/android/animation_frame_time_histogram.h" |
| |
| #include "base/android/jni_string.h" |
| #include "base/metrics/histogram_macros.h" |
| #include "jni/AnimationFrameTimeHistogram_jni.h" |
| |
| // static |
| void SaveHistogram(JNIEnv* env, |
| jobject jcaller, |
| jstring j_histogram_name, |
| jlongArray j_frame_times_ms, |
| jint j_count) { |
| jlong *frame_times_ms = env->GetLongArrayElements(j_frame_times_ms, NULL); |
| std::string histogram_name = base::android::ConvertJavaStringToUTF8( |
| env, j_histogram_name); |
| |
| for (int i = 0; i < j_count; ++i) { |
| UMA_HISTOGRAM_TIMES(histogram_name.c_str(), |
| base::TimeDelta::FromMilliseconds(frame_times_ms[i])); |
| } |
| } |
| |
| namespace base { |
| namespace android { |
| |
| // static |
| bool RegisterAnimationFrameTimeHistogram(JNIEnv* env) { |
| return RegisterNativesImpl(env); |
| } |
| |
| } // namespace android |
| } // namespace base |