From a43f85aa83270172d3f7f8fdcb74160b9d6b7c9c Mon Sep 17 00:00:00 2001 From: "kmadhusu@chromium.org" Date: Fri, 27 May 2011 17:36:00 +0000 Subject: 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 --- chrome/browser/ui/webui/print_preview_handler.cc | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) 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); -- cgit v1.1