| 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,
|
|
|