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

Unified Diff: content/browser/download/download_stats.cc

Issue 8734006: Get more information about types of images being downloaded. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/download/download_stats.cc
diff --git a/content/browser/download/download_stats.cc b/content/browser/download/download_stats.cc
index 0a44050a4bcbefa04c7f111a320ff2f7b90e7aa6..f015a81d937cc698152ed88f286fea8c1c838fb0 100644
--- a/content/browser/download/download_stats.cc
+++ b/content/browser/download/download_stats.cc
@@ -144,6 +144,48 @@ static MimeTypeToDownloadContent kMapMimeTypeToDownloadContent[] = {
{"application/x-chrome-extension", DOWNLOAD_CONTENT_CRX},
};
+enum DownloadImage {
+ DOWNLOAD_IMAGE_UNRECOGNIZED = 0,
+ DOWNLOAD_IMAGE_GIF = 1,
+ DOWNLOAD_IMAGE_JPEG = 2,
+ DOWNLOAD_IMAGE_PNG = 3,
+ DOWNLOAD_IMAGE_TIFF = 4,
+ DOWNLOAD_IMAGE_ICON = 5,
+ DOWNLOAD_IMAGE_WEBP = 6,
+ DOWNLOAD_IMAGE_MAX = 7,
+};
+
+struct MimeTypeToDownloadImage {
+ const char* mime_type;
+ DownloadImage download_image;
+};
+
+static MimeTypeToDownloadImage kMapMimeTypeToDownloadImage[] = {
+ {"image/gif", DOWNLOAD_IMAGE_GIF},
+ {"image/jpeg", DOWNLOAD_IMAGE_JPEG},
+ {"image/png", DOWNLOAD_IMAGE_PNG},
+ {"image/tiff", DOWNLOAD_IMAGE_TIFF},
+ {"image/vnd.microsoft.icon", DOWNLOAD_IMAGE_ICON},
+ {"image/webp", DOWNLOAD_IMAGE_WEBP},
+};
+
+void RecordDownloadImageType(const std::string& mime_type_string) {
+ DownloadImage download_image = DOWNLOAD_IMAGE_UNRECOGNIZED;
+
+ // Look up exact matches.
+ for (size_t i = 0; i < arraysize(kMapMimeTypeToDownloadImage); ++i) {
+ const MimeTypeToDownloadImage& entry = kMapMimeTypeToDownloadImage[i];
+ if (mime_type_string == entry.mime_type) {
+ download_image = entry.download_image;
+ break;
+ }
+ }
+
+ UMA_HISTOGRAM_ENUMERATION("Download.ContentImageType",
+ download_image,
+ DOWNLOAD_IMAGE_MAX);
+}
+
} // namespace
void RecordDownloadMimeType(const std::string& mime_type_string) {
@@ -151,8 +193,7 @@ void RecordDownloadMimeType(const std::string& mime_type_string) {
// Look up exact matches.
for (size_t i = 0; i < arraysize(kMapMimeTypeToDownloadContent); ++i) {
- const MimeTypeToDownloadContent& entry =
- kMapMimeTypeToDownloadContent[i];
+ const MimeTypeToDownloadContent& entry = kMapMimeTypeToDownloadContent[i];
if (mime_type_string == entry.mime_type) {
download_content = entry.download_content;
break;
@@ -165,6 +206,7 @@ void RecordDownloadMimeType(const std::string& mime_type_string) {
download_content = DOWNLOAD_CONTENT_TEXT;
} else if (StartsWithASCII(mime_type_string, "image/", true)) {
download_content = DOWNLOAD_CONTENT_IMAGE;
+ RecordDownloadImageType(mime_type_string);
} else if (StartsWithASCII(mime_type_string, "audio/", true)) {
download_content = DOWNLOAD_CONTENT_AUDIO;
} else if (StartsWithASCII(mime_type_string, "video/", true)) {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698