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

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, 1 month 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 dc00d28d38567ee786d58c4dea62de2727cd785a..5ee2a97a89cefd64c6508d3dc64ce414cb4e23f3 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,18 @@ public class ContentViewCore
private ViewAndroid mViewAndroid;
+ public static class UMAActionAfterDoubleTap {
+ 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 COUNT = 3;
+ }
+
+ public static class UMASingleTapType {
+ public static final int DELAYED_TAP = 0;
+ public static final int UNDELAYED_TAP = 1;
+ public static final int COUNT = 2;
+ }
/**
* Constructs a new ContentViewCore. Embedders must call initialize() after constructing
@@ -999,6 +1011,7 @@ public class ContentViewCore
* Stops loading the current web contents.
*/
public void stopLoading() {
+ reportActionAfterDoubleTapUMA(ContentViewCore.UMAActionAfterDoubleTap.NAVIGATE_STOP);
if (mNativeContentViewCore != 0) nativeStopLoading(mNativeContentViewCore);
}
@@ -1202,6 +1215,7 @@ public class ContentViewCore
* Goes to the navigation entry before the current one.
*/
public void goBack() {
+ reportActionAfterDoubleTapUMA(ContentViewCore.UMAActionAfterDoubleTap.NAVIGATE_BACK);
if (mNativeContentViewCore != 0) nativeGoBack(mNativeContentViewCore);
}
@@ -1335,6 +1349,10 @@ public class ContentViewCore
}
}
+ private void reportActionAfterDoubleTapUMA(int type) {
+ mContentViewGestureHandler.reportActionAfterDoubleTapUMA(type);
+ }
+
@Override
public boolean sendGesture(int type, long timeMs, int x, int y, Bundle b) {
if (offerGestureToEmbedder(type)) return false;
@@ -1406,6 +1424,26 @@ public class ContentViewCore
}
@Override
+ public void sendSingleTapUMA(int type) {
+ if (mNativeContentViewCore == 0) return;
+ nativeSendSingleTapUma(
+ mNativeContentViewCore,
+ type,
+ UMASingleTapType.COUNT);
+ }
+
+ @Override
+ public void sendActionAfterDoubleTapUMA(int type,
+ boolean clickDelayEnabled) {
+ if (mNativeContentViewCore == 0) return;
+ nativeSendActionAfterDoubleTapUma(
+ mNativeContentViewCore,
+ type,
+ clickDelayEnabled,
+ UMAActionAfterDoubleTap.COUNT);
+ }
+
+ @Override
public void onSentLastGestureForVSync(long eventTimeMs) {
if (isVSyncNotificationEnabled()) {
mDidSignalVSyncUsingInputEvent = true;
@@ -3389,4 +3427,10 @@ public class ContentViewCore
private native void nativeSetAccessibilityEnabled(
int nativeContentViewCoreImpl, boolean enabled);
+
+ private native void nativeSendSingleTapUma(int nativeContentViewCoreImpl,
+ int type, int count);
+
+ private native void nativeSendActionAfterDoubleTapUma(int nativeContentViewCoreImpl,
+ int type, boolean hasDelay, int count);
}

Powered by Google App Engine
This is Rietveld 408576698