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

Unified Diff: chrome/browser/ui/webui/print_preview/print_preview_handler.cc

Issue 12209086: Page range comparisons should use document size. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months 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
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);

Powered by Google App Engine
This is Rietveld 408576698