| Index: chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
| index 87e457bebf7903feaae2711693e3810b91e5d987..a29af93745e6625603822f58e3c545132bf0d48e 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
|
| @@ -8,6 +8,7 @@ import android.util.Pair;
|
|
|
| import org.chromium.base.annotations.JNINamespace;
|
| import org.chromium.base.metrics.RecordHistogram;
|
| +import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.content_public.browser.WebContents;
|
|
|
| import java.util.ArrayList;
|
| @@ -43,6 +44,23 @@ public class LaunchMetrics {
|
| protected abstract void commitAndClear();
|
| }
|
|
|
| + /**
|
| + * Caches an action that will be recorded after native side is loaded.
|
| + */
|
| + public static class ActionEvent extends CachedHistogram {
|
| + private boolean mNeedsToBeRecorded = true;
|
| +
|
| + public ActionEvent(String actionName) {
|
| + super(actionName);
|
| + }
|
| +
|
| + @Override
|
| + protected void commitAndClear() {
|
| + if (mNeedsToBeRecorded) RecordUserAction.record(mHistogramName);
|
| + mNeedsToBeRecorded = false;
|
| + }
|
| + }
|
| +
|
| /** Caches whether an event happened. */
|
| public static class BooleanEvent extends CachedHistogram {
|
| private boolean mIsHit;
|
|
|