Index: printing/backend/print_backend_chromeos.cc |
diff --git a/printing/backend/print_backend_chromeos.cc b/printing/backend/print_backend_chromeos.cc |
index f32bbe1e865cd28656aaa9bc65550af4c7f0a173..3fe31418bef7eea355eed6b4e975d5091d0ff6e3 100644 |
--- a/printing/backend/print_backend_chromeos.cc |
+++ b/printing/backend/print_backend_chromeos.cc |
@@ -4,7 +4,14 @@ |
#include "printing/backend/print_backend.h" |
+#include "base/command_line.h" |
#include "base/logging.h" |
+#include "base/values.h" |
+#include "chrome/common/chrome_switches.h" |
+#include "printing/backend/cups_helper.h" |
+#include "printing/backend/print_backend_consts.h" |
+#include "printing/backend/print_backend_cups.h" |
+#include "url/gurl.h" |
namespace printing { |
@@ -72,8 +79,27 @@ bool PrintBackendChromeOS::IsValidPrinter(const std::string& printer_name) { |
scoped_refptr<PrintBackend> PrintBackend::CreateInstance( |
const base::DictionaryValue* print_backend_settings) { |
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
Lei Zhang
2016/06/28 19:09:47
Given that PrintBackend::CreateInstance() has many
skau
2016/06/28 21:40:15
Done.
|
+ switches::kEnableNativeCups)) { |
+#ifdef USE_CUPS |
Lei Zhang
2016/06/28 19:09:47
nit: #if defined(USE_CUPS)
skau
2016/06/28 21:40:15
Done.
|
+ std::string print_server_url_str, cups_blocking; |
Lei Zhang
2016/06/28 19:09:47
nit: one decl per line
skau
2016/06/28 21:40:15
Done.
|
+ int encryption = HTTP_ENCRYPT_NEVER; |
+ if (print_backend_settings) { |
+ print_backend_settings->GetString(kCUPSPrintServerURL, |
+ &print_server_url_str); |
+ |
+ print_backend_settings->GetString(kCUPSBlocking, &cups_blocking); |
+ |
+ print_backend_settings->GetInteger(kCUPSEncryption, &encryption); |
+ } |
+ GURL print_server_url(print_server_url_str.c_str()); |
+ return new PrintBackendCUPS(print_server_url, |
+ static_cast<http_encryption_t>(encryption), |
+ cups_blocking == kValueTrue); |
+#endif // USE_CUPS |
+ } |
+ |
return new PrintBackendChromeOS(); |
} |
} // namespace printing |
- |