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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java

Issue 53283003: Added UMA stat for tracking accidental navigations on double tap. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 026f9b45308f48da1e0c1f50d99e942cc844f698..5ba29e8d17ad8c2673c8b382b8665e4f1592db77 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -459,6 +459,19 @@ public class ContentViewCore
private ViewAndroid mViewAndroid;
+ public static class UMAUserAction {
Rick Byers 2013/11/01 14:45:09 Can't you use a Java enum type here? Looks like w
bokan 2013/11/01 18:52:44 Changed.
+ // Enum for "action after double tap" UMA stat.
+ // Be sure to update histograms.xml if you update these.
+ public static final int NAVIGATE_BACK = 0;
+ public static final int NAVIGATE_STOP = 1;
+ public static final int NO_ACTION = 2;
+ public static final int ACTION_AFTER_DOUBLE_TAP_UMA_COUNT = 3;
+
+ // Not passed to UMA stats - used internally only
Rick Byers 2013/11/01 14:45:09 Seems kind of hacky to include these in the enum..
bokan 2013/11/01 18:52:44 I cleaned it up. PTAL
+ public static final int DOUBLE_TAP = 100;
+ public static final int DELAYED_TAP = 101;
+ }
+
/**
* Constructs a new ContentViewCore. Embedders must call initialize() after constructing
@@ -1323,6 +1336,10 @@ public class ContentViewCore
}
}
+ public void reportActionForUMA(int actionType) {
+ mContentViewGestureHandler.reportActionForUMA(actionType);
+ }
+
@Override
public boolean sendGesture(int type, long timeMs, int x, int y, Bundle b) {
if (offerGestureToEmbedder(type)) return false;
@@ -1394,6 +1411,23 @@ public class ContentViewCore
}
@Override
+ public void sendUserActionUMA(int actionType, boolean clickDelayEnabled) {
Rick Byers 2013/11/01 14:45:09 Is it not possible/easy to call into native direct
bokan 2013/11/01 18:52:44 I don't think it has a binding class, there's an i
+ int doubleTapEnumCount =
+ UMAUserAction.ACTION_AFTER_DOUBLE_TAP_UMA_COUNT;
+
+ if (actionType < doubleTapEnumCount) {
+ nativeSendActionAfterDoubleTapUma(
+ mNativeContentViewCore,
+ actionType,
+ clickDelayEnabled,
+ doubleTapEnumCount);
+ } else if (actionType
+ == UMAUserAction.DELAYED_TAP) {
+ nativeSendDelayedTapUma(mNativeContentViewCore);
+ }
+ }
+
+ @Override
public void onSentLastGestureForVSync(long eventTimeMs) {
if (isVSyncNotificationEnabled()) {
mDidSignalVSyncUsingInputEvent = true;
@@ -3368,4 +3402,9 @@ public class ContentViewCore
private native void nativeSetAccessibilityEnabled(
int nativeContentViewCoreImpl, boolean enabled);
+
+ private native void nativeSendDelayedTapUma(int nativeContentViewCoreImpl);
+
+ private native void nativeSendActionAfterDoubleTapUma(int nativeContentViewCoreImpl,
+ int type, boolean hasDelay, int count);
}

Powered by Google App Engine
This is Rietveld 408576698