| 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 53faf1ac950bb3e6c023c2973e89fd3cb4b5a47b..719e08428b890df0d27be042857cec70c5d9420b 100644
|
| --- a/chrome/browser/ui/webui/print_preview_handler.cc
|
| +++ b/chrome/browser/ui/webui/print_preview_handler.cc
|
| @@ -57,7 +57,7 @@ namespace {
|
|
|
| const char kDisableColorOption[] = "disableColorOption";
|
| const char kSetColorAsDefault[] = "setColorAsDefault";
|
| -const char kSetDuplexAsDefault[] = "setDuplexAsDefault";
|
| +const char kPrinterDefaultDuplexValue[] = "printerDefaultDuplexValue";
|
|
|
| #if defined(USE_CUPS)
|
| const char kColorDevice[] = "ColorDevice";
|
| @@ -273,7 +273,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;
|
| @@ -306,9 +306,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);
|
| @@ -319,11 +322,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
|
| @@ -336,7 +344,8 @@ class PrintSystemTaskProxy
|
| settings_info.SetBoolean(kSetColorAsDefault,
|
| PrintPreviewHandler::last_used_color_setting_);
|
| }
|
| - settings_info.SetBoolean(kSetDuplexAsDefault, set_duplex_as_default);
|
| + settings_info.SetInteger(kPrinterDefaultDuplexValue,
|
| + default_duplex_setting_value);
|
| BrowserThread::PostTask(
|
| BrowserThread::UI, FROM_HERE,
|
| NewRunnableMethod(this,
|
|
|