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 9d233c40dcb29cf77d3368c869440c0f054c971b..8823855f464d56f0222e82116d27d89ba1b4993b 100644 |
--- a/chrome/browser/ui/webui/print_preview_handler.cc |
+++ b/chrome/browser/ui/webui/print_preview_handler.cc |
@@ -59,6 +59,7 @@ const char kDisableColorOption[] = "disableColorOption"; |
const char kSetColorAsDefault[] = "setColorAsDefault"; |
const char kSetDuplexAsDefault[] = "setDuplexAsDefault"; |
const char kPrinterColorModelForColor[] = "printerColorModelForColor"; |
+const char kPrinterDefaultDuplexValue[] = "printerDefaultDuplexValue"; |
#if defined(USE_CUPS) |
const char kColorDevice[] = "ColorDevice"; |
@@ -281,6 +282,7 @@ class PrintSystemTaskProxy |
bool supports_color = true; |
bool set_duplex_as_default = false; |
int printer_color_space = printing::GRAY; |
+ int default_duplex_setting_value = printing::UNKNOWN; |
vandebo (ex-Chrome)
2011/09/07 21:55:57
nit: extra space
kmadhusu
2011/09/07 23:21:56
Done.
|
if (!print_backend_->GetPrinterCapsAndDefaults(printer_name, |
&printer_info)) { |
return; |
@@ -327,6 +329,12 @@ class PrintSystemTaskProxy |
} |
} |
+ 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); |
@@ -345,6 +353,16 @@ class PrintSystemTaskProxy |
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 |
@@ -359,6 +377,8 @@ class PrintSystemTaskProxy |
} |
settings_info.SetBoolean(kSetDuplexAsDefault, set_duplex_as_default); |
settings_info.SetInteger(kPrinterColorModelForColor, printer_color_space); |
+ settings_info.SetInteger(kPrinterDefaultDuplexValue, |
+ default_duplex_setting_value); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
NewRunnableMethod(this, |