diff options
author | kmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-27 17:36:00 +0000 |
---|---|---|
committer | kmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-27 17:36:00 +0000 |
commit | a43f85aa83270172d3f7f8fdcb74160b9d6b7c9c (patch) | |
tree | 160084c5d1d5ef32bbd5f676d85e44ca2331ce45 | |
parent | 421dbd5e0f10b2bd393b3bffd88c9275dca2044f (diff) | |
download | chromium_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.cc | 45 |
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); |