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

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

Issue 7817013: PrintPreview: Added code to identify the printer default duplex value. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test failures Created 9 years, 4 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_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,

Powered by Google App Engine
This is Rietveld 408576698