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

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

Issue 1965013004: Record user actions for long-press follow-on actions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed MobileSelectionChanged to SelectionChanged. Created 4 years, 7 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 0f29638937d97ae92300dc06ee9ef87ebcd6d3f2..db1ce867ec9be9bd68f576b2c0d9d2c2f8d1080b 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
@@ -54,6 +54,7 @@ import org.chromium.base.TraceEvent;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
+import org.chromium.base.metrics.RecordUserAction;
import org.chromium.content.R;
import org.chromium.content.browser.ScreenOrientationListener.ScreenOrientationObserver;
import org.chromium.content.browser.accessibility.BrowserAccessibilityManager;
@@ -2012,9 +2013,17 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
/** Google search doesn't support requests slightly larger than this. */
private static final int MAX_SEARCH_QUERY_LENGTH = 1000;
+ // All WebContents actions record a user action internally.
@Override
public void selectAll() {
mWebContents.selectAll();
+ // Even though the above statement logged a SelectAll user action, we want to
+ // track whether the focus was in an editable field, so log that too.
+ if (isFocusedNodeEditable()) {
+ RecordUserAction.record("MobileActionMode.SelectAllWasEditable");
+ } else {
+ RecordUserAction.record("MobileActionMode.SelectAllWasNonEditable");
+ }
}
@Override
@@ -2034,6 +2043,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
@Override
public void share() {
+ RecordUserAction.record("MobileActionMode.Share");
final String query = sanitizeQuery(getSelectedText(), MAX_SHARE_QUERY_LENGTH);
if (TextUtils.isEmpty(query)) return;
@@ -2052,6 +2062,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
@Override
public void processText(Intent intent) {
+ RecordUserAction.record("MobileActionMode.ProcessTextIntent");
assert Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
final String query = sanitizeQuery(getSelectedText(), MAX_SEARCH_QUERY_LENGTH);
@@ -2079,6 +2090,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
@Override
public void search() {
+ RecordUserAction.record("MobileActionMode.WebSearch");
final String query = sanitizeQuery(getSelectedText(), MAX_SEARCH_QUERY_LENGTH);
if (TextUtils.isEmpty(query)) return;

Powered by Google App Engine
This is Rietveld 408576698