Index: chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
index 02b4248848602091744c339819002d10ead76e8d..49cf455b08c89249559a8312e18851211f8e99b7 100644 |
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
@@ -186,27 +186,10 @@ DictionaryValue* GetSettingsDictionary(const ListValue* args) { |
return settings.release(); |
} |
-void ReportPageCount(const DictionaryValue& settings, |
- const std::string& printer_type) { |
- int count = 0; |
- const ListValue* page_range_array; |
- if (settings.GetList(printing::kSettingPageRange, &page_range_array)) { |
- for (size_t index = 0; index < page_range_array->GetSize(); ++index) { |
- const DictionaryValue* dict; |
- if (!page_range_array->GetDictionary(index, &dict)) |
- continue; |
- |
- printing::PageRange range; |
- if (!dict->GetInteger(printing::kSettingPageRangeFrom, &range.from) || |
- !dict->GetInteger(printing::kSettingPageRangeTo, &range.to)) { |
- continue; |
- } |
- count += (range.to - range.from) + 1; |
- } |
- } |
+void ReportPageCount(int page_count, const std::string& printer_type) { |
UMA_HISTOGRAM_COUNTS(base::StringPrintf("PrintPreview.PageCount.%s", |
printer_type.c_str()), |
- count); |
+ page_count); |
} |
// Track the popularity of print settings and report the stats. |
@@ -454,8 +437,11 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) { |
is_cloud_printer = settings->HasKey(printing::kSettingCloudPrintId); |
} |
+ int page_count = 0; |
+ settings->GetInteger(printing::kSettingPreviewPageCount, &page_count); |
+ |
if (print_to_pdf) { |
- ReportPageCount(*settings, "PrintToPDF"); |
+ ReportPageCount(page_count, "PrintToPDF"); |
ReportUserActionHistogram(PRINT_TO_PDF); |
PrintToPdf(); |
return; |
@@ -469,14 +455,14 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) { |
} |
if (is_cloud_printer) { |
- ReportPageCount(*settings, "PrintToCloudPrint"); |
+ ReportPageCount(page_count, "PrintToCloudPrint"); |
ReportUserActionHistogram(PRINT_WITH_CLOUD_PRINT); |
SendCloudPrintJob(data); |
} else if (is_cloud_dialog) { |
- ReportPageCount(*settings, "PrintToCloudPrintWebDialog"); |
+ ReportPageCount(page_count, "PrintToCloudPrintWebDialog"); |
PrintWithCloudPrintDialog(data, title); |
} else { |
- ReportPageCount(*settings, "PrintToPrinter"); |
+ ReportPageCount(page_count, "PrintToPrinter"); |
ReportUserActionHistogram(PRINT_TO_PRINTER); |
ReportPrintSettingsStats(*settings); |