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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java

Issue 1441683010: Add UMA histogram for save link file type (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 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
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
index bbaa18147bd0dd63d468592b319a165af6b18ec6..26e63416f7342aa7749376cb3694646290fbe39c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -10,6 +10,7 @@ import android.text.TextUtils;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.webkit.MimeTypeMap;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
@@ -83,6 +84,17 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
static final int ACTION_SHARE_IMAGE = 19;
static final int NUM_ACTIONS = 20;
+ // Note: these values must match the ContextMenuSaveLinkType enum in histograms.xml.
+ // Only add new values at the end, right before NUM_TYPES. We depend on these specific
+ // values in UMA histograms.
+ static final int TYPE_UNKNWON = 0;
+ static final int TYPE_TEXT = 1;
+ static final int TYPE_IMAGE = 2;
+ static final int TYPE_AUDIO = 3;
+ static final int TYPE_VIDEO = 4;
+ static final int TYPE_PDF = 5;
+ static final int NUM_TYPES = 6;
+
/**
* Records a histogram entry when the user selects an item from a context menu.
* @param params The ContextMenuParams describing the current context menu.
@@ -104,6 +116,33 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
RecordHistogram.recordEnumeratedHistogram(histogramName, action, NUM_ACTIONS);
}
+
+ /**
+ * Records the content types when user downloads the file by long pressing the
+ * save link context menu option.
+ */
+ static void recordSaveLinkTypes(String url) {
+ String extension = MimeTypeMap.getFileExtensionFromUrl(url);
+ int mimeType = TYPE_UNKNWON;
+ if (extension != null) {
+ String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
+ if (type != null) {
+ if (type.startsWith("text")) {
+ mimeType = TYPE_TEXT;
+ } else if (type.startsWith("image")) {
+ mimeType = TYPE_IMAGE;
+ } else if (type.startsWith("audio")) {
+ mimeType = TYPE_AUDIO;
+ } else if (type.startsWith("video")) {
+ mimeType = TYPE_VIDEO;
+ } else if (type.equals("application/pdf")) {
+ mimeType = TYPE_PDF;
+ }
+ }
+ }
+ RecordHistogram.recordEnumeratedHistogram(
+ "ContextMenu.SaveLinkType", mimeType, NUM_TYPES);
+ }
}
/**
@@ -280,7 +319,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
} else if (itemId == R.id.contextmenu_save_link_as) {
ContextMenuUma.record(params, ContextMenuUma.ACTION_SAVE_LINK);
- if (mDelegate.startDownload(params.getUnfilteredLinkUrl(), true)) {
+ String url = params.getUnfilteredLinkUrl();
+ if (mDelegate.startDownload(url, true)) {
+ ContextMenuUma.recordSaveLinkTypes(url);
helper.startContextMenuDownload(true, false);
}
} else if (itemId == R.id.contextmenu_search_by_image) {
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698