summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 17:36:00 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 17:36:00 +0000
commita43f85aa83270172d3f7f8fdcb74160b9d6b7c9c (patch)
tree160084c5d1d5ef32bbd5f676d85e44ca2331ce45
parent421dbd5e0f10b2bd393b3bffd88c9275dca2044f (diff)
downloadchromium_src-a43f85aa83270172d3f7f8fdcb74160b9d6b7c9c.zip
chromium_src-a43f85aa83270172d3f7f8fdcb74160b9d6b7c9c.tar.gz
chromium_src-a43f85aa83270172d3f7f8fdcb74160b9d6b7c9c.tar.bz2
PrintPreview: Added UMA to track the popularity of print settings.
BUG=80917 TEST=none Review URL: http://codereview.chromium.org/7062026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87041 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/webui/print_preview_handler.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/chrome/browser/ui/webui/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview_handler.cc
index ed14480..284c05a 100644
--- a/chrome/browser/ui/webui/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview_handler.cc
@@ -63,11 +63,22 @@ enum UserActionBuckets {
USERACTION_BUCKET_BOUNDARY
};
+enum PrintSettingsBuckets {
+ LANDSCAPE,
+ PORTRAIT,
+ COLOR,
+ BLACK_AND_WHITE,
+ COLLATE,
+ SIMPLEX,
+ DUPLEX,
+ PRINT_SETTINGS_BUCKET_BOUNDARY
+};
// Print preview user action histogram names.
const char kUserAction[] = "PrintPreview.UserAction";
const char kManagePrinters[] = "PrintPreview.ManagePrinters";
const char kNumberOfPrinters[] = "PrintPreview.NumberOfPrinters";
+const char kPrintSettings[] = "PrintPreview.PrintSettings";
const char kPreviewFailedInitiatorTabDoesNotExist[] =
"PrintPreview.Failed.InitiatorTabDoesNotExist";
@@ -104,6 +115,39 @@ DictionaryValue* GetSettingsDictionary(const ListValue* args) {
return settings.release();
}
+// Track the popularity of print settings and report the stats.
+void ReportPrintSettingsStats(const DictionaryValue& settings) {
+ bool landscape;
+ if (settings.GetBoolean(printing::kSettingLandscape, &landscape)) {
+ UMA_HISTOGRAM_ENUMERATION(kPrintSettings,
+ landscape ? LANDSCAPE : PORTRAIT,
+ PRINT_SETTINGS_BUCKET_BOUNDARY);
+ }
+
+ bool collate;
+ if (settings.GetBoolean(printing::kSettingCollate, &collate)) {
+ if (collate) {
+ UMA_HISTOGRAM_ENUMERATION(kPrintSettings,
+ COLLATE,
+ PRINT_SETTINGS_BUCKET_BOUNDARY);
+ }
+ }
+
+ int duplex_mode;
+ if (settings.GetInteger(printing::kSettingDuplexMode, &duplex_mode)) {
+ UMA_HISTOGRAM_ENUMERATION(kPrintSettings,
+ duplex_mode ? DUPLEX : SIMPLEX,
+ PRINT_SETTINGS_BUCKET_BOUNDARY);
+ }
+
+ bool is_color;
+ if (settings.GetBoolean(printing::kSettingColor, &is_color)) {
+ UMA_HISTOGRAM_ENUMERATION(kPrintSettings,
+ is_color ? COLOR : BLACK_AND_WHITE,
+ PRINT_SETTINGS_BUCKET_BOUNDARY);
+ }
+}
+
} // namespace
class PrintSystemTaskProxy
@@ -383,6 +427,7 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) {
SelectFile(default_filename);
} else {
+ ReportPrintSettingsStats(*settings);
UMA_HISTOGRAM_ENUMERATION(kUserAction,
PRINT_TO_PRINTER,
USERACTION_BUCKET_BOUNDARY);