Index: chrome/browser/ui/webui/print_preview_handler.cc |
diff --git a/chrome/browser/ui/webui/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview_handler.cc |
index 7563076cf162d7a5fd813d0935fa1c726ff15915..f345da0e0c919a96091e1038f1573299df337ccc 100644 |
--- a/chrome/browser/ui/webui/print_preview_handler.cc |
+++ b/chrome/browser/ui/webui/print_preview_handler.cc |
@@ -58,7 +58,6 @@ namespace { |
const char kDisableColorOption[] = "disableColorOption"; |
const char kSetColorAsDefault[] = "setColorAsDefault"; |
-const char kSetDuplexAsDefault[] = "setDuplexAsDefault"; |
#if defined(USE_CUPS) |
const char kColorDevice[] = "ColorDevice"; |
@@ -160,9 +159,12 @@ void ReportPrintSettingsStats(const DictionaryValue& settings) { |
if (settings.GetBoolean(printing::kSettingCollate, &collate) && collate) |
ReportPrintSettingHistogram(COLLATE); |
- int duplex_mode; |
- if (settings.GetInteger(printing::kSettingDuplexMode, &duplex_mode)) |
- ReportPrintSettingHistogram(duplex_mode ? DUPLEX : SIMPLEX); |
+ DictionaryValue* duplex_info; |
+ if (settings.GetDictionary(printing::kSettingDuplexModeInfo, &duplex_info)) { |
+ int duplex_mode; |
+ if (settings.GetInteger(printing::kUserSelectedDuplexValue, &duplex_mode)) |
+ ReportPrintSettingHistogram(duplex_mode ? DUPLEX : SIMPLEX); |
+ } |
bool is_color; |
if (settings.GetBoolean(printing::kSettingColor, &is_color)) |
@@ -274,7 +276,7 @@ class PrintSystemTaskProxy |
VLOG(1) << "Get printer capabilities start for " << printer_name; |
printing::PrinterCapsAndDefaults printer_info; |
bool supports_color = true; |
- bool set_duplex_as_default = false; |
+ int default_duplex_setting_value = printing::UNKNOWN; |
if (!print_backend_->GetPrinterCapsAndDefaults(printer_name, |
&printer_info)) { |
return; |
@@ -307,9 +309,12 @@ class PrintSystemTaskProxy |
ch = ppdFindChoice(option, option->defchoice); |
} |
- if (ch != NULL && strcmp(ch->choice, kDuplexNone) != 0) |
- set_duplex_as_default = true; |
- |
+ if (ch != NULL) { |
+ if (strcmp(ch->choice, kDuplexNone) != 0) |
+ default_duplex_setting_value = printing::TWO_SIDED; |
+ else |
+ default_duplex_setting_value = printing::ONE_SIDED; |
+ } |
ppdClose(ppd); |
} |
file_util::Delete(ppd_file_path, false); |
@@ -320,11 +325,16 @@ class PrintSystemTaskProxy |
// http://msdn.microsoft.com/en-us/windows/hardware/gg463431. |
supports_color = (printer_info.printer_capabilities.find(kPskColor) != |
std::string::npos); |
- set_duplex_as_default = |
- (printer_info.printer_defaults.find(kPskDuplexFeature) != |
- std::string::npos) && |
- (printer_info.printer_defaults.find(kPskTwoSided) != |
- std::string::npos); |
+ |
+ if (printer_info.printer_defaults.find(kPskDuplexFeature) != |
+ std::string::npos) { |
+ if (printer_info.printer_defaults.find(kPskTwoSided) != |
+ std::string::npos) { |
+ default_duplex_setting_value = printing::TWO_SIDED; |
+ } else { |
+ default_duplex_setting_value = printing::ONE_SIDED; |
+ } |
+ } |
#else |
NOTIMPLEMENTED(); |
#endif |
@@ -337,7 +347,8 @@ class PrintSystemTaskProxy |
settings_info.SetBoolean(kSetColorAsDefault, |
PrintPreviewHandler::last_used_color_setting_); |
} |
- settings_info.SetBoolean(kSetDuplexAsDefault, set_duplex_as_default); |
+ settings_info.SetInteger(printing::kPrinterDefaultDuplexValue, |
+ default_duplex_setting_value); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
NewRunnableMethod(this, |